Kurią programavimo kalbą pirmiausia turėtumėte išmokti 2020 m. ʇdıɹɔsɐʌɐɾ: ɹǝʍsuɐ

Daugelio žmonių kelionė mokymosi programuoti link prasideda nuo vienos „Google“ paieškos vėlų vakarą.

Paprastai tai yra kažkas panašaus į „Sužinok ______“

Bet kaip jie nusprendžia, kurios kalbos ieškoti?

„Jie visada juokauja apie Java Silicio slėnyje. Manau, turėčiau to išmokti “.

Arba:

„Haskell. Šiuo metu taip karšta. Haskellas “.

Arba:

„Tas„ Go gopher “yra tiesiog toks mielas“.

Ir tada mes visi kiti. Mes tikriausiai ieškosime tokių dalykų:

„Kokią programavimo kalbą turėčiau išmokti pirmiausia?“

Nedaug klausimų užduodama taip dažnai, kad jie gautų visą infografinį gydymą. Bet tai yra vienas iš jų:

Pirmosios programavimo kalbos pasirinkimas gali būti įdomus procesas - panašus į vieną iš tų „Kuris Quentin Tarantino personažas tu esi?“ asmenybės viktorinos.

Bet prieš bėgdami mokytis Ruby, nes vaikystėje jums patiko žaisti su „Play-Doh“, leiskite jums priminti: čia statymai yra gana dideli.

Prireiks šimtų valandų praktikos, kad galėtumėte net nuotoliniu būdu mokėti savo pirmąją programavimo kalbą.

Taigi turėtumėte atsižvelgti į šiuos veiksnius:

  • darbo rinkos
  • ilgalaikės kalbos perspektyvos
  • kaip lengva išmokti kalbą
  • kokius projektus galite kurti mokydamiesi (ir dalinkitės su draugais, kad galėtumėte išlikti motyvuoti)

Kiekvienais metais atsiranda naujų programavimo kalbų, o kartu ir naujų akademinių darbų. Ir nauji interneto komiksai.

Rimtai. Peržiūrėkite šį praėjusio mėnesio perlą:

Pasirinkus pirmąją programavimo kalbą, variantų netrūksta. Norėdami šiek tiek susiaurinti, pateikiame dažniausiai pasitaikančias „Google“ paieškas, susijusias su programavimo mokymusi, per pastaruosius 12 metų:

„Java“ turėjo savo nuosmukių ir nuosmukių.

„Python“ pamažu pakilo ir tapo populiariausiu pasirinkimu.

Tačiau žemiau jų yra mažas variklis, kuris galėtų pamažu populiarėti per pastaruosius kelerius metus. Ir tas variklis yra „JavaScript“.

Prieš kalbėdamas apie šias programavimo kalbas, leiskite man patikslinti:

  • Nesiginčiju, kad kuri nors kalba yra objektyviai geresnė už bet kurią kitą
  • Sutinku, kad kūrėjai ilgainiui turėtų išmokti daugiau nei vieną kalbą
  • Aš tvirtinu, kad pirmiausia jie turėtų gerai išmokti vieną kalbą. Ir, kaip jūs tikriausiai galite atspėti iš apversto teksto mano antraštėje, ta kalba turėtų būti „JavaScript“.

Pradėkime dalykus, tyrinėdami, kaip šiuo metu mokoma programuoti mokykloje.

Kompiuterija 101

Universitetai tradiciškai mokė programavimo pagal kompiuterių mokslą, kuris pats dažnai vertinamas kaip matematikos pratęsimas arba jungimasis prie elektrotechnikos laipsnio.

Žinoma, kaip jau girdėjote:

„Kompiuterių mokslų išsilavinimas niekuo negali tapti programuotoju ekspertu, nei teptukų ir pigmento studijavimas gali tapti tapytoju ekspertu.“ - Erikas S. Raymondas

Nuo 2016 m. Daugelis universitetų vis dar vertina programavimą taip, lyg tai būtų informatika, o informatiką - apie matematiką.

Todėl daugelyje įvadinių programavimo kursų daugiausia dėmesio skiriama žemo lygio abstrakcijoms, tokioms kaip C, arba matematiškai orientuotoms kalboms, tokioms kaip MATLAB.

Katedros pirmininkai paprastai lieka kursai, nurodydami metines programavimo kalbos lyderių lenteles, tokias kaip „TIOBE Index“, arba šią iš IEEE:

Dauguma šių pirmaujančiųjų sąrašų atrodo praktiškai identiški, kaip buvo prieš 10 metų.

Tačiau pokyčiai įvyksta. Net akademijoje.

2014 m. „Python“ aplenkė „Java“ kaip populiariausią dėstymo kalbą JAV kompiuterių mokslo programose.

Ir dar vienas pasikeitimas yra būtinas ... galiausiai ... įvykti.

Nes jei pažvelgsite į kalbas, kurias faktiškai naudoja darbo jėga, tai piešia labai skirtingą vaizdą:

Daugiau nei pusė visų kūrėjų naudoja „JavaScript“. Tai gyvybiškai svarbu kuriant front-end žiniatinklį ir vis svarbesnė kuriant back-end. Ir ji sparčiai plečiasi tokiose srityse kaip žaidimų kūrimas ir daiktų internetas.

Darbo skelbimuose taip pat minima „JavaScript“ nei bet kuri kita programavimo kalba, išskyrus „Java“:

Neatsitiktinai atvirojo kodo bendruomenės mokymo programą sukūrėme naudodami „JavaScript“. Per pastaruosius dvejus metus daugiau nei 5000 žmonių naudojosi „Free Code Camp“, kad gautų savo pirmąjį kūrėjo darbą.

Aš nepalaikau „JavaScript“, nes to mokau. Aš mokau „JavaScript“, nes tai yra patikimiausias kelias į pirmąjį kūrėjo darbą.

Bet ar „JavaScript“ jums tinka? Ar verta būti pirmąja jūsų programavimo kalba? Panagrinėkime tuos faktorius, kuriuos minėjau anksčiau.

1 faktorius: darbo rinka

Jei mokotės programuoti tik iš intelektualaus smalsumo, nedvejodami praleiskite šį faktorių. Bet jei jūs, kaip ir didžioji dauguma žmonių, mokančių programuoti, norite naudoti šį įgūdį įsidarbindami, tai yra svarbus dalykas.

Kaip jau minėjau anksčiau, „Java“ yra paminėta daugiau darbo skelbimų nei bet kuri kita programavimo kalba. „JavaScript“ yra artima sekundė.

Bet štai kas yra apie „JavaScript“: nors ji egzistuoja jau 20 metų, ji visai neseniai tapo rimta priemone, kuria tokios kompanijos kaip „Netflix“, „Walmart“ ir „PayPal“ sukurs visas programas.

Todėl daugybė kompanijų samdo „JavaScript“ kūrėjus, tačiau darbo rinkoje jų nėra tiek daug.

Kiekvienoje atviroje „Java“ pozicijoje varžosi 2,7 „Java“ kūrėjų. Konkurencija dėl PHP ir „iOS“ darbų yra panašiai nuožmi.

Bet kiekvienai atvirai „JavaScript“ pozicijai yra tik 0,6 „JavaScript“ kūrėjų. Tai yra pardavėjų rinka kūrėjams, turintiems „JavaScript“ įgūdžių.

2 faktorius: ilgalaikės perspektyvos

Vidutinis „JavaScript“ projektas gauna dvigubai daugiau traukimo užklausų nei vidutinis „Java“, „Python“ ar „Ruby“ projektas. Be to, „JavaScript“ auga sparčiau nei bet kuri kita populiari kalba.

„JavaScript“ ekosistemai taip pat naudinga daug investuoti į tokias kompanijas kaip „Google“, „Microsoft“, „Facebook“ ir „Netflix“.

Pvz., „TypeScript“ (statiškai įvestas „JavaScript“ viršutinis rinkinys) turi daugiau nei 100 atvirojo šaltinio autorių, iš kurių daugelis yra „Microsoft“ ir „Google“ darbuotojai, kuriems už darbą tenka mokėti.

Šio tipo įmonių tarpusavio bendradarbiavimą sunkiau rasti naudojant „Java“. „Oracle“, kuriai priklauso „Java“ įsigyjant „Sun Microsystems“, dažnai paduoda į teismą įmones, kurios bando ją išplėsti.

3 faktorius: sunku mokytis

Dauguma programuotojų sutiktų, kad aukšto lygio scenarijų kalbas išmokti palyginti lengva. „JavaScript“ priklauso šiai kategorijai, kartu su „Python“ ir „Ruby“.

Nors universitetai vis dar moko tokių kalbų kaip „Java“ ir „C ++“ kaip pirmosios kalbos, jas išmokti yra žymiai sunkiau.

4 faktorius: Projektai, kuriuos galite sukurti naudodamiesi juo

Čia „JavaScript“ tikrai šviečia. „JavaScript“ veikia bet kuriame įrenginyje, kuriame yra naršyklė, čia pat naršyklėje. Iš esmės galite sukurti bet ką naudodami „JavaScript“ ir bendrinti bet kur.

Dėl „JavaScript“ visuotinumo „Stack Overflow“ įkūrėjas Jeffas Atwoodas sukūrė savo dabar žinomą įstatymą:

"Bet koks prašymas, kad gali būti parašytas JavaScript, bus galiausiai bus parašyta JavaScript".

Kiekvieną mėnesį Atwoodo įstatymas galioja.

„Java“ kartą taip pat žadėjo bėgti visur. Galite prisiminti „Java Applets“. „Oracle“ oficialiai juos nužudė šių metų pradžioje.

„Python“ kenčia nuo tų pačių problemų:

„Kaip galiu padovanoti šį savo sukurtą žaidimą savo draugui? Dar geriau, ar galiu tai įdėti į savo telefoną, kad galėčiau parodyti vaikams mokykloje, jiems nereikia jo įdiegti? Hm. “ - Jamesas Hague'as atsisakydamas „Python“ kaip mokomosios kalbos

Priešingai, čia yra keletas programų, kurias mūsų atvirojo kodo bendruomenės nariai sukūrė savo naršyklėse „CodePen“. Galite spustelėti ir naudoti šiuos veiksmus tiesiai savo naršyklėje:

Gerai išmokti vieną kalbą. Tada išmokite antrą.

Jei vis šokinėjate iš vienos kalbos į kitą, toli nenueisite.

Norėdami peržengti pagrindus, turite gerai išmokti savo pirmąją kalbą. Tada jūsų antroji kalba bus daug, daug lengvesnė.

Iš čia galite išsišakoti ir tapti labiau suplanuotu kūrėju, išmokdami daug kalbų:

  • „C“ yra puikus būdas sužinoti, kaip kompiuteriai iš tikrųjų veikia atminties valdymo prasme, ir yra naudingas didelio našumo skaičiavimams
  • C ++ yra puikus žaidimų kūrimas.
  • „Python“ yra nuostabus mokslui ir statistikai.
  • „Java“ yra svarbi, jei norite dirbti didelėse technologijų kompanijose.

Tačiau pirmiausia išmokite „JavaScript“.

Gerai, dabar bandysiu neįmanoma - bandysiu numatyti prieštaravimus iš komentarų skyriaus.

1 prieštaravimas: Bet ar „JavaScript“ nėra lėtas?

„JavaScript“ praktiškiausiais tikslais yra toks pat greitas, kaip ir našios kalbos.

„JavaScript“ (Node.js) yra didesnėmis eilėmis greitesnis nei „Python“, „Ruby“ ir PHP.

Tai taip pat beveik taip pat greitai, kaip didelio našumo kalbos, tokios kaip C ++, „Java“ ir „Go“.

Pateikiami išsamiausio naujausio daugiakalbio etalono rezultatai:

2 prieštaravimas: Bet „JavaScript“ nėra statiškai įvestas

Kaip ir „Python“ ir „Ruby“, „JavaScript“ rašoma dinamiškai, o tai yra patogu. Bet jūs galite patekti į bėdą. Čia aš ketinu exampleArraybūti masyvas. Aš nustatau jo vertes, tada patikrinu jo ilgį - tai reiškia jame esančių elementų skaičių.

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

Bet tada netyčia priskiriu tai stygai.

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

Tokios klaidos nuolat vyksta dinamiškai įvestomis kalbomis. Daugelis kūrėjų tiesiog įdiegė patikrinimus, kad jų išvengtų, ir atitinkamai rašo testus.

Jei būtinai turite įvesti statinį tipą savo pirmąja programavimo kalba, tada vis tiek rekomenduoju pirmiausia išmokti „JavaScript“. Tada galite greitai pasiimti „TypeScript“.

„Mašinraštis turi mokymosi kreivę, bet jei jau žinote„ JavaScript “, jis bus sklandus.“ - Alexas Ewerlöfas „TypeScript“

3 prieštaravimas: Bet aš tikrai noriu sukurti programą mobiliesiems

Vis tiek pirmiausia rekomenduoju išmokti „JavaScript“.

  1. „JavaScript“ turi keletą įrankių, skirtų vietinėms mobiliesiems programoms kurti, pvz., „Angular Cordova“ ir „React Native“.
  2. Norint, kad jūsų mobilioji programa iš tikrųjų padarytų ką nors įdomaus, jai tikriausiai reikės tinkamos galinės dalies, kurią norėsite sukurti naudodami tinkamą interneto kūrimo sistemą, pvz., „Node.js + Express.js“.

Be to, verta atkreipti dėmesį į tai, kad mobiliųjų programų kūrimo geriausios dienos gali būti už jų.

Pradedantiesiems, kiek žmonės naudojasi mobiliosiomis programomis, beveik pusė visų kūrėjų darbo vietų yra žiniatinklio kūrimas. Palyginkite tai tik su 8% darbo vietų, susijusių su mobiliųjų programų kūrimu.

Didžioji vizija „yra tam skirta programa“ neįgyvendinta. Vietoj to, dauguma išmaniųjų telefonų savininkų nustojo atsisiųsti naujas programas.

Aišku - jie vis dar naudoja programas. Daugiausia „Facebook“, „Google Maps“ ir keletas kitų. Didžioji mobiliųjų programų kūrėjų paklausos dalis yra sutelkta keliuose dideliuose darbdaviuose.

Sunku prognozuoti šių mobiliųjų kūrėjų darbo vietų perspektyvas. Daugelis mobiliųjų programų kūrimo, priežiūros ir platinimo aspektų yra lengviau naudojant „JavaScript“. Taigi tokios kompanijos kaip „Facebook“ ir „Google“ daug investuoja į geresnius įrankius, kaip juos kurti naudojant „JavaScript“.

Nuo 2016 m. Visa plėtra yra interneto svetainių kūrimas. Viskas liečia tą didelę platformą, kuri yra „internetas“. Kita banga prietaisų, su kuriais kalbėsitės aplink savo namus, ir automobiliai, pasiimantys jūsų vaikus iš mokyklos - jie visi taip pat bus sujungiami naudojant internetą.

Ir tai reiškia „JavaScript“.

4 prieštaravimas: Ar „JavaScript“ nėra žaislų kalba, parašyta per 10 dienų?

„JavaScript“ turi keistą istoriją.

Neabejotinai išgirsite, kaip žmonės juokauja jo sąskaita.

Na, žmonės taip pat mėgsta nekęsti C ++. Nepaisant šio neapykantos, „C ++“, kaip ir „JavaScript“, pavyko, ir dabar jis taip pat beveik visur.

Taigi, jei kas nors jums kada nors sunkiai išmoksta „JavaScript“, o ne elitinę savaitės kalbą, tiesiog prisiminkite garsiuosius vaikino, kuris sukūrė „C ++“, žodžius:

"Yra tik dviejų rūšių programavimo kalbos: tie žmonės visada kalioja ir tie, kurių niekas nenaudoja." - Bjarne Stroustrup

Rašau tik apie programavimą ir technologijas. Jei stebėsite mane „Twitter“, negaišinsiu jūsų laiko. ?