Kura programmēšanas valoda vispirms jāapgūst 2020. gadā? ʇdıɹɔsɐʌɐɾ: ɹǝʍsuɐ

Lielākā daļa cilvēku ceļā uz mācīšanos programmēties sākas ar vienu vēlu nakts meklēšanu Google tīklā.

Parasti tas ir kaut kas līdzīgs “Mācīties ______”

Bet kā viņi izlemj, kuru valodu meklēt?

“Viņi Silikona ielejā vienmēr joko par Java. Es domāju, ka man tas būtu jāmācās. ”

Vai arī:

- Haskels. Šobrīd tik karsts. Haskels. ”

Vai arī:

"Tas Go gofers ir vienkārši tik ļoti jauks."

Un tad mēs esam pārējie. Mēs, iespējams, meklēsim kaut ko līdzīgu:

"Kura programmēšanas valoda man jāiemācās vispirms?"

Daži jautājumi tiek tik bieži uzdoti, ka viņi saņem pilnu infografiku. Bet tas ir viens no tiem:

Izlemšana par pirmo programmēšanas valodu var būt jautrs process - tāds pats kā viens no šiem “Kurš Quentin Tarantino varonis tu esi?” personības viktorīnas.

Bet pirms jūs aizbēgat mācīties Rubīnu, jo bērnībā jums patika spēlēt ar Play-Doh, ļaujiet man jums atgādināt: šeit likmes ir diezgan augstas.

Jums būs nepieciešamas simtiem stundu prakses, lai kļūtu pat attālināti kompetents ar savu pirmo programmēšanas valodu.

Tāpēc jums vajadzētu ņemt vērā šādus faktorus:

  • valodas darba tirgus
  • valodas ilgtermiņa perspektīvas
  • cik viegli ir iemācīties valodu
  • kādus projektus jūs varat veidot, kamēr mācāties (un dalieties ar draugiem, lai paliktu motivēts)

Katru gadu nāk jaunas programmēšanas valodas un līdz ar to arī jauni akadēmiskie darbi. Un jauni tīmekļa komiksi.

Nopietni. Pārbaudiet šo pērnā mēneša pērli:

Kad jāizvēlas pirmā programmēšanas valoda, iespēju netrūkst. Lai to nedaudz sašaurinātu, šeit ir visizplatītākie Google meklējumi, kas saistīti ar programmēšanas mācīšanos, pēdējo 12 gadu laikā:

Java ir bijusi gan augšupeja, gan kritums.

Python pamazām ir kļuvis par populārāko izvēli.

Bet zem tiem ir paslēpts mazais dzinējs, kas varētu, pēdējos gados lēnām izvēloties popularitāti. Un tas dzinējs ir JavaScript.

Pirms runāju par šīm programmēšanas valodām, ļaujiet man precizēt:

  • Es neapgalvoju, ka kāda valoda ir objektīvi labāka par jebkuru citu
  • Es piekrītu, ka izstrādātājiem galu galā vajadzētu iemācīties vairāk nekā vienu valodu
  • Es apgalvoju, ka vispirms viņiem vajadzētu labi iemācīties vienu valodu. Un - kā jūs, iespējams, nojaušat no mana virsraksta otrādi norādītā teksta, šai valodai jābūt JavaScript.

Sāksim lietas, izpētot, kā patlaban skolā tiek mācīta programmēšana.

Datorzinātnes 101

Universitātes tradicionāli mācīja programmēšanu datorzinātņu paspārnē, kas pati par sevi bieži tiek uzskatīta par matemātikas paplašinājumu vai piesaisti elektrotehnikas grādam.

Protams, kā jūs jau esat dzirdējuši:

"Datorzinātņu izglītība nevienu nevar padarīt par ekspertu programmētāju, bet otu un pigmenta izpēte var padarīt kādu par ekspertu gleznotāju." - Ēriks S. Raimonds

Sākot ar 2016. gadu, daudzas universitātes joprojām pret programmēšanu izturas tā, it kā tā būtu datorzinātne, un informātiku tāpat kā pret matemātiku.

Tā rezultātā daudzi ievadprogrammēšanas kursi koncentrējas uz zemas abstrakcijas valodām, piemēram, C, vai matemātiski orientētām valodām, piemēram, MATLAB.

Nodaļu krēsli parasti paliek kursā, norādot uz ikgadējām programmēšanas valodas līderu tabulām, piemēram, TIOBE indeksu vai IEEE:

Lielākā daļa šo līderu sarakstu izskatās praktiski identiski tiem, kādi bija pirms 10 gadiem.

Bet pārmaiņas tomēr notiek. Pat akadēmiskajā vidē.

2014. gadā Python apsteidza Java kā vispopulārāko mācību valodu ASV augstākajās datorzinātņu programmās.

Un vēl citas izmaiņas ir saistītas ar ... galu galā ... notikt.

Jo, ja paskatās uz darbaspēka faktiski izmantotajām valodām, tas rada ļoti atšķirīgu ainu:

Vairāk nekā puse no visiem izstrādātājiem izmanto JavaScript. Tas ir ļoti svarīgi priekšējā tīmekļa izstrādē un arvien nozīmīgāks aizmugures attīstībai. Un tas strauji paplašinās tādās jomās kā spēļu izstrāde un lietu internets.

Darba sludinājumos arī JavaScript tiek pieminēts vairāk nekā jebkura cita programmēšanas valoda, izņemot Java:

Nav nejauši, ka mūsu atvērtā pirmkoda kopienas mācību programma tika veidota, izmantojot JavaScript. Pēdējo divu gadu laikā vairāk nekā 5000 cilvēku ir izmantojuši Free Code Camp, lai iegūtu savu pirmo izstrādātāja darbu.

Es neatbalstu JavaScript, jo es to mācu. Es mācu JavaScript, jo tas ir drošākais ceļš uz pirmo izstrādātāja darbu.

Bet vai JavaScript ir piemērots tieši jums? Vai ir vērts būt jūsu pirmajai programmēšanas valodai? Izpētīsim tos faktorus, kurus es minēju iepriekš.

1. faktors: darba tirgus

Ja jūs mācāties programmēt tikai aiz intelektuālas ziņkārības, droši izlaidiet šo faktoru. Bet, ja jūs, tāpat kā lielākā daļa cilvēku, kuri mācās programmēt, vēlaties izmantot šo prasmi, lai iegūtu darbu, tas ir svarīgs apsvērums.

Kā jau minēju iepriekš, Java tiek pieminēta vairāk darba sludinājumos nekā jebkura cita programmēšanas valoda. JavaScript ir tuvu otrais.

Bet šeit ir tas, kas attiecas uz JavaScript: lai arī tas pastāv jau 20 gadus, tas tikai nesen kļuva par nopietnu instrumentu, ar kuru tādas kompānijas kā Netflix, Walmart un PayPal veidotu veselas lietojumprogrammas.

Rezultātā daudzi uzņēmumi algo JavaScript izstrādātājus, taču darba tirgū to nav tik daudz.

Par katru atvērto Java pozīciju sacenšas 2.7 Java izstrādātāji. Konkurence par PHP un iOS darbiem ir tikpat sīva.

Bet par katru atvērto JavaScript pozīciju ir tikai 0,6 JavaScript izstrādātāji. Tas ir ļoti daudz pārdevēju tirgus izstrādātājiem ar JavaScript prasmēm.

Faktors # 2: ilgtermiņa perspektīvas

Vidējais JavaScript projekts saņem divreiz vairāk pieprasījumu nekā vidējais Java, Python vai Ruby projekts. Turklāt JavaScript pieaug straujāk nekā jebkura cita populāra valoda.

JavaScript ekosistēma arī gūst labumu no lieliem naudas ieguldījumiem un inženiertehniskajiem talantiem no tādiem uzņēmumiem kā Google, Microsoft, Facebook un Netflix.

Piemēram, TypeScript (statiski ierakstīts JavaScript superset) ir vairāk nekā 100 atvērtā koda līdzautori, no kuriem daudzi ir Microsoft un Google darbinieki, kuriem tiek maksāts par darbu pie tā.

Šāda veida uzņēmumu sadarbību ar Java ir grūtāk atrast. Oracle, kam faktiski pieder Java, iegādājoties Sun Microsystems, bieži iesūdz tiesā uzņēmumus, kuri cenšas to paplašināt.

3. faktors: grūtības mācīties

Lielākā daļa programmētāju piekritīs, ka augsta līmeņa skriptu valodas ir samērā viegli iemācīties. Šajā kategorijā ietilpst JavaScript, kā arī Python un Ruby.

Kaut arī universitātes joprojām māca tādas valodas kā Java un C ++ kā pirmās valodas, tās ir daudz grūtāk iemācīties.

Faktors # 4: projekti, kurus varat veidot ar to

Šeit JavaScript patiešām spīd. JavaScript darbojas jebkurā ierīcē, kurai ir pārlūks, tieši tajā pārlūkprogrammā. Izmantojot JavaScript, jūs varat izveidot būtībā jebko un koplietot to jebkur.

JavaScript visuresamības dēļ Stack Overflow līdzdibinātājs Džefs Atvuds izveidoja savu tagad slaveno likumu:

"Jebkurš programma, kas var tikt rakstīts JavaScript, tiks galā rakstīts JavaScript."

Ar katru mēnesi Atvuda likums ir spēkā.

Savulaik arī Java apsolīja skriet visur. Jūs, iespējams, atceraties Java sīklietotnes. Oracle viņus oficiāli nogalināja šī gada sākumā.

Python cieš no tām pašām problēmām:

“Kā es varu uzdāvināt šo spēli, ko esmu izveidojis, savam draugam? Vēl labāk, vai ir veids, kā es varu to ievietot savā tālrunī, lai es to varētu parādīt bērniem skolā, viņiem to neinstalējot? Hm. ” - Džeimss Hāgs, atlaižot Python kā mācību valodu

Turpretī šeit ir dažas lietotnes, kuras mūsu atvērtā pirmkoda kopienas dalībnieki savās pārlūkprogrammās ir izveidojuši CodePen. Varat noklikšķināt un izmantot tieši savā pārlūkprogrammā:

Labi iemācieties vienu valodu. Tad iemācieties otru.

Ja turpināsi lēkāt no valodas uz valodu, tālu netiksi.

Lai pārsniegtu pamatus, jums labi jāapgūst pirmā valoda. Tad jūsu otrā valoda būs daudz, daudz vieglāka.

No turienes jūs varat sazināties un kļūt par daudzveidīgāku izstrādātāju, apgūstot daudz valodu:

  • C ir lielisks veids, kā uzzināt, kā datori faktiski darbojas atmiņas pārvaldības ziņā, un tas ir noderīgs augstas veiktspējas skaitļošanā
  • C ++ ir lieliski piemērots spēļu izstrādei.
  • Python ir fantastisks zinātnei un statistikai.
  • Java ir svarīga, ja vēlaties strādāt lielos tehnoloģiju uzņēmumos.

Bet vispirms iemācieties JavaScript.

Labi, tagad es mēģināšu neiespējamo - mēģināšu paredzēt iebildumus no komentāru sadaļas.

Iebildums Nr. 1: bet vai JavaScript nav lēns?

JavaScript vispraktiskākajiem nolūkiem ir tikpat ātrs kā augstas veiktspējas valodas.

JavaScript (Node.js) ir par daudz lielākām kārtām nekā Python, Ruby un PHP.

Tas ir arī gandrīz tikpat ātrs kā augstas veiktspējas valodas, piemēram, C ++, Java un Go.

Tālāk ir sniegti visplašākā neseno daudzvalodu etalona rezultāti:

Iebildums # 2: Bet JavaScript nav statiski ierakstīts

Tāpat kā Python un Ruby, arī JavaScript tiek dinamiski rakstīts, kas ir ērti. Bet jūs varat nokļūt nepatikšanās. Šeit es domāju exampleArraybūt masīvs. Es iestatīju tā vērtības, pēc tam pārbaudu tā garumu - ar to domājot tajā esošo elementu skaitu.

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

Bet tad es to nejauši piešķiru virknei.

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

Šāda veida kļūdas pastāvīgi notiek dinamiski drukātās valodās. Lielākā daļa izstrādātāju vienkārši ievieš pārbaudes, lai tās novērstu, un attiecīgi uzraksta testus.

Ja jums absolūti jābūt statiskai rakstīšanai pirmajā programmēšanas valodā, es joprojām iesaku vispirms iemācīties JavaScript. Tad jūs varat ātri uzņemt TypeScript.

"Rakstamrakstam ir mācīšanās līkne, taču, ja jūs jau zināt JavaScript, tas būs vienmērīgs." - Alex Ewerlöf par TypeScript

Iebildums Nr. 3: Bet es patiešām vēlos izveidot mobilo lietotni

Es joprojām iesaku vispirms iemācīties JavaScript.

  1. JavaScript piedāvā vairākus rīkus vietējo mobilo lietotņu izveidošanai, piemēram, Angular Cordova un React Native.
  2. Lai jūsu mobilā lietotne patiešām varētu darīt kaut ko interesantu, tai, iespējams, būs nepieciešama pareiza aizmugure, kuru vēlaties izveidot, izmantojot atbilstošu tīmekļa izstrādes sistēmu, piemēram, Node.js + Express.js.

Tāpat ir vērts norādīt, ka mobilās lietotnes izstrādes labākās dienas var būt aiz tā.

Iesācējiem, lai arī cilvēki izmanto mobilās lietotnes, gandrīz puse no visiem izstrādātāja darbiem ir tīmekļa izstrāde. Salīdziniet to ar tikai 8% darbavietu, kas saistītas ar mobilo lietotņu izstrādi.

Lielā vīzija par to, ka “tam ir lietotne”, nav piepildījusies. Tā vietā lielākā daļa viedtālruņu īpašnieku pārtrauca jaunu lietotņu lejupielādi.

Protams - viņi joprojām izmanto lietotnes. Pārsvarā Facebook, Google Maps un nedaudz citu. Liela daļa mobilo lietotņu izstrādātāju pieprasījuma ir koncentrēti dažos lielos darba devējos.

Šo mobilo ierīču izstrādes darba vietu perspektīvu ir grūti prognozēt. Daudzi mobilo lietotņu izstrādes, uzturēšanas un izplatīšanas aspekti ir vienkāršāki, izmantojot JavaScript. Tātad tādi uzņēmumi kā Facebook un Google iegulda lielus līdzekļus labākos rīkos, lai tos izveidotu, izmantojot JavaScript.

Kopš 2016. gada gandrīz visa izstrāde ir tīmekļa izstrāde. Viss skar to lielo platformu, kas ir “tīmeklis”. Un nākamais ierīču vilnis, ar kuru jūs runāsiet savās mājās, un automašīnas, kas uzņem jūsu bērnus no skolas - tās visas tiks savienotas arī, izmantojot internetu.

Un tas nozīmē JavaScript.

Iebildums Nr. 4: vai JavaScript nav rotaļlietu valoda, kas tika uzrakstīta 10 dienu laikā?

JavaScript ir savdabīga vēsture.

Jūs neapšaubāmi dzirdēsiet, kā cilvēki uz tā rēķina plēš jokus.

Arī cilvēkiem patīk ienīst C ++. Neskatoties uz šo naidu, tāpat kā JavaScript, arī C ++ ir izdevies, un tagad tas ir gandrīz visur.

Tātad, ja kāds jums kādreiz sagādā grūtības mācīties JavaScript, nevis nedēļas elites valodu, vienkārši atcerieties slavenā puiša vārdus, kurš izveidoja C ++:

"Ir tikai divu veidu programmēšanas valodas: tie cilvēki vienmēr kuce un tie, kurus neviens nelieto." - Bjarne Stroustrup

Es rakstu tikai par programmēšanu un tehnoloģijām. Ja jūs sekojat man Twitter, es netērēšu jūsu laiku. ?