Najbolji programski jezik za učenje sada

Najbolji način da razumijemo računala i priklonimo ih našoj volji je naučiti govoriti njihov jezik kako bi razumjeli naše naredbe. Ljudi koji vole fantastične romane ponekad zamisle da uče magične čarolije i uroke. Praktično raspoloženi koriste utemeljeniji jezik za predstavljanje logičke strukture brojeva i podataka. U svakom slučaju, sve je u razumijevanju kojeg će slijeda pritiska tipki i klikova mišem računalo preskočiti metaforične obruče i izvesti virtualne plesove.

Svaka škola, MOOC i mjesto za vježbanje moraju prihvatiti prvi jezik za mlade Padawance. Ponegdje, poput nestalnog Harvarda, još uvijek se drže ere 70-ih, ali mnoge škole osciliraju između JavaScripta, Pythona i Jave. Jedan je pokopan u svakom pregledniku, jedan je čisti izbor društvenih znanosti, a jedan je vrsta matematički nastrojenijih ljudi bogata tipom.

Je li jedan najbolji izbor? Je li jedan očito bolji od ostalih? Ili su svi podjednako vjerojatno da će noću poslati znatan broj učenika koji vrište u svoje jastuke? Ispitajmo najbolje razloge za učenje Java, Python ili JavaScript.

Java je klasična

Test naprednog postavljanja odabrao je Javu davno kad je Java bila mlada i eksplodirala. Možda Java nikada nije dosegla vrh svoje početne putanje, kad se činilo da su svi pretpostavljali da će biti potpuno dominantna, ali i dalje predstavlja okosnicu mnogih web stranica, pametnih telefona, televizora i malih uređaja.

Odabir jezika s jakim sljedbenicima omogućava studentu da uskoči u skupinu koja je već u potpunosti opskrbljena sofisticiranim razvojnim alatima. Štoviše, postoje bazilioni redovi otvorenog koda koje student može proučiti, revidirati i proširiti za vlastiti rad. Pridružuju se velikom pokretu i lako im je uklopiti se.

Python je nov

Zapravo Python nije toliko nov - projekt je započeo prije više od 30 godina - ali osjeća se novo jer je njegov uspjeh polako dolazio. Tek je nedavno Python izbio i široko ga usvojio kod povremenih programera. Novost znači da škole koje prihvaćaju Python kreiraju nove planove lekcija, pišu nove ispite i razvijaju nove palube slajdova. Ne iskopavaju neka prašnjava stara pitanja iz 1990-ih s referencama na Pets.com i MySpace.

Najnoviji tečaj AP-a, nazvan Principi računalne znanosti, omogućava učitelju da odabere jezik računala, a mnogi odabiru Python zbog njegove svježine. Novost je možda duboka, ali svi su jezici samo neka pametna sintaksa koja skriva strukturu odluke if-then-else sklopnog koda.

Sav ovaj uspjeh stvara pozitivnu povratnu spregu. Izdanje indeksa Tiobe u studenom 2020. označilo je prvi put da se Python popeo na mjesto dva (iza C), prepoznajući kako jezik postaje sve popularniji od Jave.

JavaScript je posvuda

Nalazi se u pregledniku, a preglednik je temelj vaše radne površine, vašeg telefona i svih onih kioska koje vidite svugdje. U posljednjem desetljeću JavaScript je zauzeo prve redove web poslužitelja jer su Node.js web aplikacije postale najpopularniji način za programere da napišu "izomorfni kôd" koji se može izvoditi i na klijentima i na farmama poslužitelja. JavaScript je praktički iste dobi kao Java, ali ipak su ljudima trebale godine da otkriju njegovu snagu. Istodobno je novo i staro.

Java se upisuje

Možda vam se neće svidjeti trošenje vremena za određivanje vrste svake varijable, ali ne treba vam toliko vremena da kliknete tri tipke da biste dodali "int" u svoj kôd. Kada to učinite, dobivate svu moć koja omogućuje prevođenju kompajlera da odmah provjeri vaš kôd i pronađe glupe pogreške prije nego što se primijeni. Jezici provjereni tipom prisiljavaju nas da rigoroznije razmišljamo o logici našeg koda, a to je ključna lekcija za nove programere. Struktura tipa Java smanjuje greške i gradi bolji kod.

Python se ne upisuje

Ljubitelji kucanog jezika su pametni i pišu dobar kôd, ali ako mislite da je vaš kôd dovoljno dobar za nesmetano izvođenje bez dodatnih informacija o vrstama podataka za svaku varijablu, Python je spreman za vas. Računalo može shvatiti vrstu podataka kad ih pohranite u varijablu. Zašto dodatno raditi za sebe?

Imajte na umu da se ovaj pristup slobodnom hodu može mijenjati, iako polako. Python dokumentacija najavljuje da Python runtime ne provodi napomene funkcije i varijable, ali se i dalje mogu koristiti. Možda će s vremenom dodavanje vrsta postati dominantan način programiranja na jeziku, ali zasad je sve vaš izbor.

JavaScript je oboje

JavaScript sam po sebi nije tipiziran, ali u posljednje vrijeme neki od istaknutih članova JavaScript svijeta prelaze na TypeScript, superset izvornog jezika koji vam daje mogućnost postavljanja vrsta kad želite. A ako to ne želite, dobro, i redoviti će JavaScript raditi dobro. To je opuštena verzija provjere tipa.

Uređaji Java pravila

Najpopularnija platforma za mobitele na svijetu je Android, ogroman niz koda izgrađen na vrhu Jave. Ali to je samo najvidljivija platforma. Set-top boxovi, novi Chromebookovi, pa čak i neke radne površine pokreću Android aplikacije baš poput pametnih telefona. Bliski rođak Java, C #, dominira svijetom Windows. C # nije potpuno isti kao Java, ali je vrlo blizu. Ako ćete pisati aplikaciju za fiksni hardverski dio, postoji velika šansa da je Java najbolji izbor.

Python vlada znanošću podataka

Ako pišete softver za rad s podacima, velika je vjerojatnost da ćete htjeti koristiti Python. Jednostavna sintaksa spojila je mnoge znanstvenike, a jezik je snažno naišao u laboratorijima širom zemlje. Sad kad znanost o podacima uzima maha u svim slojevima poslovnog svijeta, Python slijedi.

Jedan od najboljih izuma za stvaranje i dijeljenje interaktivnih dokumenata, Jupyterova bilježnica, započeo je sa zajednicom Python prije prihvaćanja drugih jezika. To je jedan od najboljih načina za kombiniranje softvera, podataka i teksta koji objašnjava što se događa. Čitatelji mogu upiti riječi, a zatim pritisnuti tipke za pokretanje softvera na podacima.

JavaScript vlada webom

Ostale platforme mogu biti lijepe, ali web preglednik je i dalje onaj portal koji gotovo svi koriste za povezivanje sa svijetom. To je obično najčešće korišten softver na radnoj površini, pametnom telefonu i tabletu. JavaScript je započeo kao šef ovog lokalnog klijenta i njegov se utjecaj proširio na potpunu dominaciju jer je rast Node.js-a olakšao programerima pokretanje istog koda na klijentu i poslužitelju.

Postoje i deseci dobrih JavaScript okvira (Angular, React, Vue, itd.) Koji nude temelje za izgradnju vaše web aplikacije, a neki su dovoljno pametni da prema potrebi premještaju vaš kôd između klijenta i poslužitelja. 

Čak i u svjetovima u kojima dominiraju drugi jezici, JavaScript ulazi u stog. Mnogi programeri pametnih telefona preskaču Javu i Swift kako bi stvorili svoje višeplatformske aplikacije u JavaScriptu. Napokon, JavaScript određuje što će se dogoditi u pravokutniku preglednika i to u velikoj mjeri jamči da će donijeti odluku o tome što će se dogoditi s većinom klikova i tipki na bilo kojem mjestu.

Java pokreće sve

Ako napišete Python kôd, velika je vjerojatnost da će se završiti u Jythonu, implementaciji jezika napisanog na Javi kako bi se iskoristila sveprisutnost Java virtualnog stroja. Ako trebate pokrenuti JavaScript, možete ga dodati i Rhino i Nashorn, dvama alatima koji JavaScript pretvaraju u Java bajt kod.

Ova se dva jezika nisu jedina koja se oslanjaju na čvrstu izvedbu JVM-a. Mnogi se funkcionalni programski jezici poput Scala, Clojure i Kotlin također oslanjaju na iste temelje. To pomaže svima olakšavajući povezivanje ovih jezika temeljenih na JVM-u ako ih želite koristiti u istom projektu.

Python radi svugdje

Python nije prvi ili čak posljednji izbor za ljude koji pišu emulatore za druge jezike. Ipak, lako je pronaći Python na mnogim računalima. Kreatori jezika uvijek su distribuirali kôd kao otvoreni izvor, a paketi su gotovo svugdje. Doista, pronaći ćete Python uključen u MacOS i većinu distribucija Linuxa s punim mogućnostima. Iako nije uključen u sustav Windows, instalirati ga je povjetarac - samo učinite to pametno.

JavaScript se pokreće u pregledniku

Teško je povjerovati da je jezik igračaka izgrađen za stvaranje okvira upozorenja u pregledniku sada temelj mnogih jezika. Razvojni programeri žele dosegnuti korisnike, a ako korisnici žive u pregledniku, pronalaženje načina da se vaš kôd pokreće u JavaScript-u najbrži je način da doprete do svih.

Nisu samo JavaScript rođaci poput CoffeeScripta i LiveScripta preslikani na JavaScript. Čak se i jezici poput Lisp, OCaml i Pascal mogu pretvoriti u JavaScript i pokrenuti u pregledniku. Python je popularan u pregledniku u projektima poput Jupyterovih bilježnica, pa čak i Java može biti prevedena u JavaScript pomoću alata poput Google Web Toolkita.

Java ima jake IDE-ove

Eclipse, NetBeans i IntelliJ neka su od najboljih integriranih razvojnih okruženja. Stvorili su ih Java zajednica i njegovali tijekom godina kako bi stvorili jedno od najpodržanijih okruženja za pisanje koda. Algoritmi za dovršavanje koda i generiranje koda možda neće napisati sav vaš softver, ali mogu unijeti značajnu količinu. Sve ovo držanje ruku stvarno pomaže novim programerima da sintaksu isprave ispravno. 

Ovi su IDE-i bili toliko popularni da su programeri s drugih jezika pronašli način da svoj kod pokrenu u sebi. Ako postanete profesionalni programer Java, gotovo sigurno ćete koristiti jedan od njih. U međuvremenu, ako želite jednostavnije i ugodnije Java programiranje, isprobajte BlueJ ili Greenfoot. Ovi "početnički IDE-ovi" dizajnirani su posebno za učenje Jave.

Python ima oblak

Jezik Python pronašao je svoj prvi dom u svijetu Unixa i zato ne čudi da su oblaci ispunjeni Linux kutijama prirodno mjesto za pronalaženje puno Python koda. Neki od najnovijih alata poput Jupytera spajaju kôd, podatke i objašnjenja kako bi ljudi mogli podijeliti svoje uvide s drugima kao istraživački radovi koji oživljavaju. Jupyterove bilježnice nisu statični dokumenti, već interaktivni alati za istraživanje.

Drugi grade sofisticirane alate oko jezika kako bi poboljšali istraživanje. Primjerice, PyTorch je alat za duboko učenje ispunjen kodom, podacima i algoritmima za analizu. Ovakva okruženja dominirat će budućnošću znanosti o podacima.

Postoji i nekoliko dobrih domaćina za prijenosnike koji dodaju dodatne značajke za dijeljenje podataka i rukovanje velikim, intenzivnim poslovima računalne analize podataka. Na primjer, Google pokreće Colaboratory, koji će pohraniti vaše podatke i ponuditi besplatan pristup GPU-ima radi bržeg izračunavanja. Saturn Cloud oglašava performanse koje su možda 100 puta brže od vaše radne površine.

JavaScript ima JSFiddle

Svaki preglednik dolazi s više nego dovoljno snage da djeluje kao IDE. JSFiddle je samo najistaknutija od više od desetak web stranica koje vam omogućuju dijeljenje JavaScript koda s drugim programerima. Web stranice, međutim, nisu statične jer možete petljati s kodom i gledati ga kako se pokreće na istoj web stranici. Alati poput ovog olakšavaju eksperimentiranje sa svim sintaktičkim zabavima JavaScripta.

Naučite bilo koji - ili sve tri

Svijet programiranja voli unakrsno oprašivati. Iako može biti zbunjujuće poskakivati ​​između različitih jezika i održavati sintaksu ravnom, moguće je koristiti sva tri jezika u projektima, a da se previše ne zapetljate. Java ili JavaScript projekti koji analiziraju podatke mogu se povezivati ​​u bibliotekama znanosti podataka napisanim na Pythonu. Ili Python projekti mogu pozivati ​​Java ili JavaScript kôd.

Pametni programeri također su stvorili alate za automatsko prevođenje, povezivanje i integraciju različitih jezika jedni s drugima. Želite li pokrenuti Python kod u svom pregledniku? Sada postoji nekoliko različitih mogućnosti, a vjerojatno i više. Java ima klasu ScriptEngine koja će procijeniti JavaScript. Postoje stotine različitih jezika koji će se pokretati kao JavaScript kroz prijevod ili emulaciju.

Ukratko, tri jezika ne trebaju biti otoci, međusobno izolirani. Dugoročno ne trebate odabrati samo jedan. Ali započnite s jednim u početku.

Pročitajte više o razvoju softvera:

  • Najbolji besplatni tečajevi programiranja tijekom zaključavanja
  • Što je CI / CD? Objašnjena kontinuirana integracija i kontinuirana isporuka
  • Što je agilna metodologija? Objašnjeni suvremeni razvoj softvera
  • Što je API? Objašnjena sučelja za programiranje aplikacija
  • Najbolji programski jezik za učenje sada
  • Najvrjednije vještine programera u 2020
  • 6 najboljih programskih jezika za razvoj AI
  • 24 najbolje plaćene uloge programera u 2020
  • Full-stack programer: što je to i kako to možete postati
  • 9 zamki u karijeri koje bi svaki programer trebao izbjegavati