Kateri programski jezik se morate najprej naučiti leta 2020? ʇdıɹɔsɐʌɐɾ: ɹǝʍsuɐ

Potovanje večine ljudi do učenja programiranja se začne z enim poznim nočnim iskanjem v Googlu.

Običajno gre za nekaj takega kot "Nauči se ______"

Toda kako se odločijo, kateri jezik bodo iskali?

»V Silikonski dolini se vedno šalijo o Javi. Mislim, da bi se tega moral naučiti. "

Ali:

»Haskell. Tako vroče zdaj. Haskell. "

Ali:

"Ta Gopher je tako čudovit srček."

In potem smo ostali. Verjetno bomo iskali nekaj takega:

"Kateri programski jezik naj se najprej naučim?"

Malo vprašanj je tako pogosto zastavljenih, da bi dobili popolno infografsko obravnavo. Toda to je eden izmed njih:

Odločitev o svojem prvem programskem jeziku je lahko zabaven postopek - podobno kot eden izmed tistih "Kateri lik Quentina Tarantina ste?" osebnostni kvizi.

Preden pa ste pobegnili učiti Rubyja, ker ste se že v otroštvu radi igrali z Play-Dohom, naj vas spomnim: tu je vlog precej velik.

Potrebovali boste stotine ur vaj, da boste še bolj oddaljeni od svojega prvega programskega jezika.

Upoštevajte naslednje dejavnike:

  • trg dela za jezik
  • dolgoročne možnosti za jezik
  • kako enostavno se je jezika naučiti
  • katere projekte lahko gradite med učenjem (in jih delite s prijatelji, da boste lahko motivirani)

Vsako leto prinaša nove programske jezike in z njimi tudi nove akademske prispevke. In novi spletni stripi.

Resno. Oglejte si ta dragulj iz prejšnjega meseca:

Pri izbiri prvega programskega jezika možnosti ne manjka. Če ga želite nekoliko zožiti, je tukaj najpogostejših iskanj v Googlu, povezanih z učenjem programiranja, v zadnjih 12 letih:

Java je imela svoje vzpone in padce.

Python se je postopoma dvignil in postal najbolj priljubljena izbira.

Toda pod njimi je spravljen Mali motor, ki bi lahko, v zadnjih nekaj letih počasi izbiral priljubljenost. In ta motor je JavaScript.

Preden spregovorim o teh programskih jezikih, naj pojasnim:

  • Ne trdim, da je kateri koli jezik objektivno boljši od katerega koli drugega
  • Strinjam se, da se morajo razvijalci sčasoma naučiti več kot enega jezika
  • Trdim, da bi se morali najprej dobro naučiti enega jezika. In - kot verjetno verjetno ugibate iz na glavo obrnjenega besedila v mojem naslovu - bi moral biti ta jezik JavaScript.

Začnimo z raziskovanjem, kako se trenutno poučuje programiranje v šoli.

Računalništvo 101

Na univerzah programiranje že tradicionalno poučujejo pod okriljem računalništva, ki ga pogosto obravnavajo kot razširitev matematike ali povezavo s stopnjo elektrotehnike.

Seveda, kot ste že slišali:

"Izobraževanje iz računalništva ne more nikogar narediti strokovnjaka za programerja, tako kot študij čopičev in pigmentov lahko nekoga naredi strokovnega slikarja." - Eric S. Raymond

Od leta 2016 številne univerze programiranje še vedno obravnavajo kot računalništvo, računalništvo pa kot matematiko.

Posledično se veliko uvodnih tečajev programiranja osredotoča na jezike z nizko stopnjo abstrakcije, kot je C, ali na matematično usmerjene jezike, kot je MATLAB.

Stoli oddelkov na splošno ostanejo na tečaju in kažejo na letne lestvice programskih jezikov, kot je indeks TIOBE ali ta iz IEEE:

Večina teh lestvic je videti skoraj enako kot pred 10 leti.

Toda spremembe se zgodijo. Tudi v akademskih krogih.

Leta 2014 je Python prehitel Javo kot najbolj priljubljen jezik poučevanja v vrhunskih programih računalništva v ZDA.

In še ena sprememba se bo zagotovo ... sčasoma ... zgodila.

Ker če pogledate jezike, ki jih dejansko uporablja delovna sila, to kaže povsem drugačno sliko:

Več kot polovica vseh razvijalcev uporablja JavaScript. Bistvenega pomena je za front-end spletni razvoj in vse bolj pomemben za back-end. In se hitro širi na področja, kot sta razvoj iger in internet stvari.

V delovnih mestih je tudi JavaScript omenjen bolj kot kateri koli programski jezik, ki ni Java:

Ni naključje, da smo kurikulum naše odprtokodne skupnosti zgradili okoli JavaScripta. V zadnjih dveh letih je več kot 5000 ljudi uporabljalo Free Code Camp, da bi dobilo prvo službo razvijalca.

Ne zagovarjam JavaScript, ker ga učim. Jaz učim JavaScript, ker je to najzanesljivejša pot do prvega delovnega mesta razvijalca.

Toda ali je JavaScript primeren za vas? Ali je vredno biti vaš prvi programski jezik? Raziščimo tiste dejavnike, ki sem jih prej omenil.

Faktor št. 1: trg dela

Če se učite programirati zgolj iz intelektualne radovednosti, lahko ta dejavnik preskočite. Če pa želite - tako kot velika večina ljudi, ki se učijo programirati - uporabiti to veščino za zaposlitev, je to pomemben premislek.

Kot sem že omenil, je Java omenjena v več objavah za prosta delovna mesta kot kateri koli drug programski jezik. JavaScript je blizu.

A tukaj je nekaj v zvezi z JavaScriptom: čeprav obstaja že 20 let, je šele pred kratkim postalo resno orodje, da bodo podjetja, kot so Netflix, Walmart in PayPal, sestavila celotne aplikacije.

Posledično veliko podjetij najema razvijalce JavaScript, vendar jih na trgu dela preprosto ni tako veliko.

Obstaja 2,7 razvijalca Java, ki se potegujejo za vsako odprto mesto Java. Konkurenca za delovna mesta PHP in iOS je podobno močna.

Toda za vsako odprto pozicijo JavaScript je le 0,6 razvijalca JavaScript. Je zelo prodajni trg za razvijalce z znanjem JavaScript.

Faktor št. 2: Dolgoročne možnosti

Povprečni projekt JavaScript prejme dvakrat toliko zahtev za vlečenje kot povprečni projekt Java, Python ali Ruby. Poleg tega JavaScript raste hitreje kot kateri koli drug priljubljen jezik.

Ekosistemu JavaScript koristi tudi velika naložba denarja in inženirski talent podjetij, kot so Google, Microsoft, Facebook in Netflix.

Na primer, TypeScript (statično natipkana nabora JavaScript) ima več kot 100 odprtokodnih sodelavcev, med katerimi so mnogi zaposleni v Microsoftu in Googlu, ki so plačani za delo na njem.

Tovrstno sodelovanje med podjetji je težje najti z Javo. Oracle, ki je dejansko lastnik Jave s pridobitvijo Sun Microsystems, pogosto toži podjetja, ki jo poskušajo razširiti.

Faktor # 3: Težave pri učenju

Večina programerjev bi se strinjala, da je skriptne jezike na visoki ravni razmeroma enostavno naučiti. V to kategorijo spada tudi JavaScript, skupaj s Pythonom in Rubyjem.

Čeprav univerze še vedno poučujejo jezike, kot sta Java in C ++, kot prva jezika, se jih je veliko težje naučiti.

Faktor # 4: Projekti, ki jih lahko gradite z njim

Tu JavaScript resnično sije. JavaScript deluje v kateri koli napravi, ki ima brskalnik, tam v brskalniku. Z JavaScriptom lahko ustvarite v bistvu kar koli in ga delite kjer koli.

Zaradi vseprisotnosti JavaScripta je soustanovitelj Stack Overflowa Jeff Atwood skoval svoj zdaj že znani zakon:

"Vsaka aplikacija, ki jo je mogoče napisati v JavaScript, bo sčasoma napisana v JavaScript."

In z vsakim mesecem Atwoodov zakon drži močan.

Tudi Java je nekoč obljubila, da bo delovala povsod. Morda se spomnite Java Java. Oracle jih je uradno ubil v začetku tega leta.

Python trpi za skoraj enakimi težavami:

»Kako lahko to igro, ki sem jo naredil, podarim svojemu prijatelju? Še bolje, ali lahko to dam na svoj telefon, da ga lahko pokažem otrokom v šoli, ne da bi ga morali namestiti? Hm. " - James Hague pri upokojitvi Pythona kot učnega jezika

Nasprotno pa je tu nekaj aplikacij, ki so jih člani naše odprtokodne skupnosti v svoje brskalnike vgradili v CodePen. Te lahko kliknete in uporabite v svojem brskalniku:

Dobro se naučite enega jezika. Nato se naučite drugega.

Če boste še naprej skakali iz jezika v jezik, ne boste daleč prišli.

Če želite preseči osnove, se morate dobro naučiti svojega prvega jezika. Potem bo vaš drugi jezik veliko, veliko lažji.

Od tam se lahko razvejate in postanete bolj zaokrožen razvijalec z učenjem številnih jezikov:

  • C je odličen način, da se naučite, kako računalniki dejansko delujejo v smislu upravljanja pomnilnika, in je koristen pri visokozmogljivem računalništvu
  • C ++ je odličen za razvoj iger.
  • Python je super za znanost in statistiko.
  • Java je pomembna, če želite delati v velikih tehnoloških podjetjih.

Najprej pa se naučite JavaScript.

V redu, zdaj bom poskusil nemogoče - poskusil bom predvideti ugovore iz oddelka za komentarje.

1. ugovor: Ampak ali JavaScript ni počasen?

JavaScript je - za večino praktičnih namenov - tako hiter kot visokozmogljivi jeziki.

JavaScript (Node.js) je velikostni red hitrejši kot Python, Ruby in PHP.

Prav tako je skoraj tako hiter kot visokozmogljivi jeziki, kot so C ++, Java in Go.

Tu so rezultati najobsežnejšega nedavnega medjezikovnega merila:

2. ugovor: Toda JavaScript ni statično vtipkan

Tako kot Python in Ruby se tudi JavaScript dinamično tipka, kar je priročno. Lahko pa zaidete v težave. Tu nameravam exampleArraybiti matrika. Nastavim njegove vrednosti, nato preverim njegovo dolžino - kar pomeni število elementov, ki jih vsebuje.

exampleArray = [1, 2] -> [1, 2] exampleArray.length -> 2

Potem pa jo po naključju dodelim za niz.

exampleArray = “text” -> “text” exampleArray.length -> 4

Tovrstne napake se ves čas pojavljajo v dinamično tipkanih jezikih. Večina razvijalcev samo postavi čeke, da jih preprečijo, in v skladu s tem napiše teste.

Če morate imeti v prvem programskem jeziku statično tipkanje, potem vseeno priporočam, da se najprej naučite JavaScript. Nato lahko hitro poberete TypeScript.

"Typescript ima učno krivuljo, vendar če JavaScript že poznate, bo enakomerna." - Alex Ewerlöf na TypeScript

Ugovor št. 3: Toda resnično želim narediti mobilno aplikacijo

Še vedno priporočam, da se najprej naučite JavaScripta.

  1. JavaScript vsebuje več orodij za izdelavo izvornih mobilnih aplikacij, kot sta Angular Cordova in React Native.
  2. Da bi lahko vaša mobilna aplikacija dejansko naredila kaj zanimivega, bo verjetno potrebovala ustrezen zadnji del, ki ga boste želeli zgraditi z ustreznim okvirom za spletni razvoj, kot je Node.js + Express.js.

Prav tako je treba poudariti, da so morda najboljši dnevi za razvoj mobilne aplikacije v ozadju.

Za začetek, tako kot ljudje uporabljajo mobilne aplikacije, skoraj polovica vseh delovnih mest za razvijalce predstavlja spletni razvoj. Primerjajte to z zgolj 8% delovnih mest, ki vključujejo razvoj mobilnih aplikacij.

Velika vizija "za to obstaja aplikacija" se ni uresničila. Namesto tega večina lastnikov pametnih telefonov preneha nalagati nove aplikacije.

Seveda - še vedno uporabljajo aplikacije. Večinoma Facebook, Google Maps in peščica drugih. Tako je veliko povpraševanja po razvijalcih mobilnih aplikacij zgoščenih pri nekaj velikih delodajalcih.

Težko je napovedati obete za ta delovna mesta za mobilni razvoj. Številni vidiki razvoja, vzdrževanja in distribucije mobilnih aplikacij so lažji z JavaScriptom. Tako podjetja, kot sta Facebook in Google, veliko vlagata v boljša orodja za njihovo izdelavo z uporabo JavaScript.

Od leta 2016 je skoraj ves razvoj spletni razvoj. Vse se dotika tiste velike platforme, ki je "splet". In naslednji val naprav, s katerimi se boste pogovarjali po vašem domu, in avtomobili, ki popeljejo vaše otroke iz šole - tudi vsi bodo povezani po spletu.

In to pomeni JavaScript.

Ugovor št. 4: Ali ni JavaScript igralski jezik, ki je bil napisan v 10 dneh?

JavaScript ima čudno zgodovino.

Nedvomno boste slišali, kako ljudje na njen račun zbijajo šale.

No, ljudje radi sovražimo tudi na C ++. Tako kot JavaScript je tudi C ++ uspel kljub temu sovraštvu, zdaj pa je skoraj povsod.

Torej, če vam kdo namesto elitnega tedna v tednu oteži učenje JavaScripta, se samo spomnite slavnih besed tipa, ki je ustvaril C ++:

"Obstajata samo dve vrsti programskih jezikov: tisti, ki se vedno hudijo in tisti, ki jih nihče ne uporablja." - Bjarne Stroustrup

Pišem samo o programiranju in tehnologiji. Če me spremljate na Twitterju, vam ne bom zapravljal časa. ?