Prietenul meu a spus: „Java este un limbaj de programare pentru fete, iar C ++ / C este pentru bărbați”. El a vrut să spună că Java este un limbaj de programare ușor de învățat, iar programarea reală este ca și cum am lucra în C / C ++. Mă simt jignit. Cum pot trece peste asta?
Prietenul tău a greșit totul.
Java nu este nici măcar pentru fete ... este pentru copii mici.
C ++ este cel mai bine pentru adolescenți.
Un adevărat MAN programează direct în seturile de instrucțiuni ale mașinii (fără manualul de referință, desigur).
ACTUALIZARE: Răspunsul meu, pe care l-am scris rapid pe telefonul meu, a primit astăzi mult mai multă atenție decât mă așteptam.
Nu am considerat această întrebare ca demnă de o analiză serioasă. Din păcate, se pare că unii cititori au luat răspunsul meu oarecum în serios.
Pentru PO: Fără a intra în percepția de gen a prietenului tău, pot spune că, deși el poate fi un individ inteligent și un excelent programator, lăsând noțiunile sale ciudate de masculinitate să înțeleagă judecata sa asupra cadrelor software, este pe cale să fie un inginer prost .
Puteți vedea afirmația sa spunând: "Cumpărarea unui suport TV de la Ikea este pentru fetițe! Un OM adevărat iese în pădure, găsește un stejar potrivit, îl doborâ cu mâinile goale și îl ciopleste cu dinții!"
Sună ridicol, nu?
Asta pentru că este.
Deși nu sunt un mare fan al sintaxei Java, este de necontestat că JVM este o piesă uimitoare de tehnologie. Abstracțiile și instrumentele adăugate care fac Java „girly” în ochii prietenului tău, fac din Java o alegere excelentă pentru multe aplicații la scară largă independente de platformă, pentru care alegerea utilizării C ++ ar face inginerii din proiect mult mai puțin productivi.
Desigur, C ++ vă oferă mai mult acces la nivelul inferior, permițându-vă să reglați performanța. Acest lucru este necesar în multe cazuri. De aceea C și C ++ sunt încă importante. În dezvoltarea jocului, este adesea necesar să reglați performanța pentru o anumită arhitectură scriind ansamblul.
Deci, cum să treci peste asta? Mă îndoiesc că prietenul tău este un inginer foarte experimentat. Vei descoperi că majoritatea start-up-urilor moderne și chiar companiile consacrate, în special cele orientate spre web, preferă să folosească limbaje „girly” precum Java (și Scala etc.) și Python (pot enumera multe altele). Cu excepția cazului în care sunt la o scară Google, avantajul suplimentar al optimizării performanței utilizând C ++ nu merită complexitatea și dificultatea de întreținere adăugate. Chiar și Google o face aplicând stiluri stricte de codare cu privire la utilizarea C ++. Prin natura sa, C ++ este un limbaj în care doi dezvoltatori foarte experimentați pot scrie o soluție la o problemă care este complet disjunctă de cealaltă.
Amintiți-vă că, atunci când utilizați Java, operați la un nivel ceva mai ridicat de abstractizare. Încă trebuie să fiți conștienți de ceea ce se întâmplă mai jos, dar nu trebuie să vă faceți griji cu privire la detaliile implementării. Sunt șanse să fiți mai productivi pentru angajatorul dvs. mai repede!
Cât despre prietenul tău? Sper că va dezvolta o înțelegere mai obiectivă a instrumentelor meseriei, de dragul său și o noțiune mai sănătoasă de masculinitate, de dragul prieteniei tale.
Așa cum au spus alții, prima limbă pe care o înveți are foarte puțin de-a face cu cea în care s-ar putea să găsești în cele din urmă un loc de muncă. Primele mele două limbi au fost BASIC și Pascal și niciodată nu am folosit niciuna dintre acestea din punct de vedere comercial.
Pentru a învăța să programați va trebui să lucrați la proiecte. Și are sens să înveți o limbă care te va ajuta să lucrezi la proiecte care te interesează.
În majoritatea circumstanțelor, recomand de obicei ca oamenii să învețe Python sau JavaScript ca primă limbă (nu Java și JavaScript nu sunt similare, nici măcar nu sunt aproape).
Motivul pentru Python este sintaxa sa simplă și simplă și disponibilitatea bibliotecilor și cadrelor de calitate pentru multe domenii de probleme diferite. Deci, dacă doriți să creați un joc video, o aplicație GUI obișnuită, încercați-vă la învățarea automată sau faceți niște calcule nebunești, Python este prietenul dvs.
Motivul pentru JavaScript este că este mult mai ușor să începeți să obțineți rezultate și consider că satisfacția instantanee este un motivator puternic. Pentru a crea un program care are de fapt o interfață în Python, este posibil să trebuiască să învățați destul de mult Python și un anumit framework GUI. Pentru a obține o interfață cu JavaScript, puteți introduce doar câteva linii în consola browserului. Și dacă doriți să dezvoltați proiecte bazate pe web, JavaScript este practic singurul mod de a merge.
Acum, acestea sunt două sugestii principale. Dar există câteva cazuri marginale în care ați putea dori să alegeți o altă limbă.
Dacă doriți să construiți automatizare sau robotică sau orice alt tip de electronică DIY, veți avea nevoie de C. Deci, dacă sunteți deja în electronică și / sau doriți să construiți un proiect interesant folosind microcontrolere, doriți să învățați C
Dacă doriți să creați aplicații mobile, vă recomandăm să învățați Java pentru Android și / sau Swift pentru iOS, dar aș recomanda acest lucru. Există câteva cadre de dezvoltare mobilă pe mai multe platforme și, mai degrabă decât să înveți o limbă întreagă doar pentru a te dezvolta pe una dintre cele două mari platforme mobile, este mai ușor să înveți o singură limbă pe care să o dezvolți pe ambele. React Native și JavaScript sau Kivy și Python ar putea fi opțiuni mai bune.
Cu toate acestea, dacă doriți să intrați în știința datelor sau în analiza datelor, cel mai bun pariu ar fi să începeți cu Python, deoarece este unul dintre limbajele de programare defacto pentru lucrul cu date. Avantajul adăugat aici este că Python este mai simplu decât C, C ++ sau Java și că bariera la intrare este mult mai mică în știința datelor și Python. Python conține diverse instrumente și pachete pentru lucrul cu date, de la pachete de manipulare a datelor, cum ar fi pandala pachetele de vizualizare a datelor precum Matplotlibși Seaborn, în cele din urmă la pachete de învățare automată, cum ar fi scikit-learn, și altele.
R este, de asemenea, o altă alternativă la învățarea științei datelor. Este singura alternativă populară la Python în știința datelor și cea mai frecvent utilizată în cercetare și dezvoltare, analiza statistică, analiza datelor și crearea tabloului de bord. Una dintre principalele sale aplicații ucigașe este strălucitoare, care vă permite să creați cu ușurință tablouri de bord web pentru a raporta și comunica date.
Dacă sunteți interesat să urmăriți o cale de învățare pentru R și Python, vă recomandăm să consultați aceste articole despre cum să învățați Rși Python, respectiv. Mai mult decât atât, vă încurajăm să consultați Data Scientist din Python, și Data Scientist în R. piese de carieră, care conțin până la 30 de cursuri și proiecte fiecare care vă permit să învățați și să vă aplicați abilitățile codificându-vă direct în browser.
Prima limbă va fi probabil cea mai greu de învățat, deci nu o faceți prea complicată. Mai jos sunt mostrele aceleiași bucăți de cod în Java și Python. Nu este cel mai bun exemplu, dar unul dintre puținele lucruri pe care le-am putut găsi pe care le-am transferat de la Python la Java. C ++ și C vor arăta oarecum asemănătoare cu Java. Aceasta este pentru un joc de tip tic-tac-toe, iar această bucată de cod returnează toate locurile în care puteți pune o piesă nouă.
Java:
Piton:
Codul Python pare probabil mai ușor de citit. Este, de asemenea, un limbaj foarte rapid de învățat și vă permite să vă jucați cu ușurință cu părțile fundamentale ale codului (bucle, dacă instrucțiuni, liste etc.). Pe măsură ce vă obișnuiți cu programarea, Python vă va permite să vă dedicați programării orientate pe obiecte și / sau funcționale fără a fi forțat să intrați în ea. Java te obligă să folosești obiecte, iar C nu are obiecte.
C este relativ simplu, dar nu este orientat spre o mulțime de lucruri pe care le-ar face un nou programator și va trece mult timp până când veți utiliza efectiv puterea brută a lui C la potențialul său. Probabil că te vei sătura de asta și vei dori un limbaj care să poată face ceva mai practic (îmi imaginez că nu vei scrie un sistem de operare de câțiva ani). De asemenea, lucrurile care par simple și de bază în alte limbi (cum ar fi șirurile) sunt o durere în C.
C ++ adaugă multă complexitate lui C. De asemenea, adaugă capabilități orientate obiect, dar C ++ nu este o modalitate excelentă de a învăța programarea orientată obiect. (Prima mea expunere la programare a fost doi ani de curs de informatică folosind C ++ și nu am înțeles niciodată scopul claselor și obiectelor.)
Aș recomanda, de asemenea, să încercați Kotlin. Compilează până la același lucru ca și Java, este un limbaj simplu și distractiv de codat și poate fi folosit pentru a crea aplicații Android. Acesta este același bit de cod transferat către Kotlin. Pentru mine, se simte ca și cum am scrie cod Java în stil Python.
0 comentarii:
Trimiteți un comentariu