Miks meie kodeeriv alglaager ikkagi õpetab kahte programmeerimiskeelt korraga

Püüdes koolitada tööhõivevalmis täielikke korstnaarendajaid, otsustas meie kodeeriv alglaager õpetada kõrvuti Ruby on Rails'it (Rubiinipõhine back-end raamistik) ja React (Javascripti-põhine esiotsa raamistik).

Alguses oli kahe keele õpetamine praktiline otsus. Õpilased vajasid nii reaalajas kui ka tagantpoolt haridust, et see vastaks meie standarditele reaalse maailma arendajate edu saavutamiseks.

Meie ideaalne keel iga tüki jaoks oli erinev. Kuigi kahe keele korraga õppimine oli palju keerulisem, polnud meie õpilastel muud valikut, sest me ei suutnud sel ajal paremat lahendust luua.

Selle asemel, et saada ülekoormatud ja pesta, jõudsid meie õpilased edukalt toime kahe keele õppimisega.

Kuna me ei näinud õpilaste jaoks muid negatiivseid tagajärgi peale suurema koormuse, ei muutnud me oma programmi esimese viie aasta jooksul.

Vaatamata edule Ruby on Rails õpetamisel otsustasime lõpuks oma programmi uuendada ja oma õppekavasse uue taustraamistiku sisse viia. Kaalusime mitut võimalust, kuid lõpuks langes valik kaheks: Pythoni Django või Javascripti Node.js.

Lõpuks oli meil võimalus lihtsustada oma programmi väljakutset ja õpetada ainult Javascripti, säilitades samal ajal tipptasemel hariduse.

Me ei teinud seda.

Selle asemel valisime Pythoni Django.

Tööhõive analüüs näitas, et Python ja Django olid meie õpilastele võrdselt väärtuslikud kui Javascript ja Node.js. Nii et Django valimine ei kahjustaks kvaliteeti. Meie õpilastel oleks lihtsalt raskem õppida, kui õpetaksime ainult Javascripti ja kasutaksime Node.js.

Me ei teinud programmi lihtsalt raskemaks. Looga oli rohkem, kui vaatasime, mis juhtus pärast meie õpilaste lõpetamist.

Oma valikute üle arutledes saime aru, et mitme keele õppimisest on saanud meie lõpetajate eelis.

Kiirus, millega meie õpilased õppisid programmeerima, nende edu pärast lõpetamist ja neilt saadud tagasiside kinnitasid, et kahe keele korraga õppimine oli - kuigi lühiajaliselt keeruline - lõppkokkuvõttes nende pikaajalise edu jaoks ülioluline.

Mõõdetud ja kuuldu põhjal on siin kõige olulisemad põhjused, miks õpetame Code Platoonis rohkem kui ühte programmeerimiskeelt.

1. Esmatähtsaks mõisted süntaksi asemel

Nii nagu suuri matemaatikuid ei mõõdeta teoreemide päheõppimise võime järgi, ei mõõdeta ka suurte arendajate võimet kirjutada oma pealaest teatud keeles süntaktiliselt täiuslik silmus.

Tähtsam on nende võime mõista olulisi mõisteid ja mõista süsteeme, millega nad töötavad.

Süntaks on lihtne. Google'i otsing "Kuidas ma kirjutan singlit rubiinis" annab kohe palju tulemusi. Teadmine, millal kasutada singletonit (mitte klassieksemplari), on raske osa.

Süntaks muutub keelega, kuid paljud arvutitega seotud probleemide lahendamise meetodid jäävad samaks.

Kui olete aru saanud, et kõigil objektorienteeritud keeltel on üksikud ained, ei jää te enam nii kinnisideeks, kui jätate meelde, kus komad lähevad - ja keskendute rohkem sellele, milliseid samme peate oma probleemide lahendamiseks tegema.

Keelte sarnasuste nägemine võib universaalsete kontseptsioonide langetamisel palju kaasa aidata. Kuid erinevuste vaatamine võib olla sama kasulik. Mõned mõisted on abstraktsemad või lihtsalt ühes keeles raskemini mõistetavad.

Näiteks polnud Ruby lambdadel minu jaoks mingit mõtet, kuid see mõte klõpsatas lõpuks, kui nägin lambdasid Javascriptis. Mõnikord on lihtsalt vaja sama asja teistmoodi näha ja te ei saa seda kunagi, kui jääte ainult ühe keele juurde.

2. Suurendate oma töövõimalusi

Soovime, et meie lõpetajad oleksid valmis tegelikeks kodeerimistöödeks. Kuigi mõned meie lõpetajatest saavad tööd, kus nad kirjutavad koodi meie õpetatavates keeltes, on enamus neist maandunud erinevatele keeltele.

Iga järgmise tööga peavad nad tavaliselt õppima vähemalt ühe uue keele või raamistiku.

Selle esimese keele õppimine on keeruline. Näitamine, et olete lühikese aja jooksul õppinud kaks, reklaamib teie võimet õppida surve all. See on oskus, mis aitab teil tõeliselt massist eristuda.

Kui teie resümeel on nii Javascript kui Python, näitab see, et saate kirjutada nendes kahes keeles.

Veelgi olulisem on see, et saate jätkata kodeerimiskeelte õppimist. See suurendab teie võimalusi tööle saada tööle, mis ei nõua kumbagi neist.

Reaalses maailmas ei pea te programmeerijana kaua vastu, kui oskate ainult ühte keelt või kui te pole valmis uusi õppima. Aeg, mille kulutate teise õppimiseks klassiruumi turvalisuses, annab teile enesekindluse õppida kolmas oma uue töö ajal kellas.

3. Saate ehitada rohkem asju rohkemate keeltega

Vähesed kaasaegsed veebirakendused on ehitatud vaid ühe programmeerimiskeelega. Mõnes keeles on teatud asjades parem. Esiosas domineerib Javascript. Saate seda kasutada ka oma tagaosas. Kuid sõltuvalt sellest, mida soovite teha, võiksite kasutada serveri poolel rubiini või Java-d.

Enamik rakendusi vajavad andmebaasi. Sel juhul soovite õppida sellist päringukeelt nagu SQL.

Kas peate palju andmeid analüüsima? Python või R võivad olla need, mida otsite. Ehitate kiiremini ja nutikamalt, kui saate aru, mida iga keel teeb hästi ja kuidas kasutada keeli ülesandeks vajalike ülesannete täitmiseks.

4. Perspektiiv aitab teil saada enesekindlust ja kasvada

Esimese keele õppimine võib olla uskumatult keeruline. Kuid nagu kõik muu, mida rohkem te õpite, seda kindlamaks muutute raskustes probleemide lahendamisel.

Ja just see on suur osa programmeerimisest - oskus probleemi hinnata ja lahendus leida. Tahtejõud ja enesekindlus nende vältimatute “mul pole aimugi, mida edasi teha” hetked läbi suruda on võtmetähtsusega.

Pärast teise keele õppimist muutute muutuste suhtes avatumaks. Saate aru, kuidas valida töö jaoks parim tööriist. Üks keel, mis sobib suurepäraselt veebiarenduseks, ei pruugi olla andmete analüüsimiseks parim ja saate sellest aru. Vähem on tõenäoline, et sunnite tööriista, mida tunnete, parema tööriista lihtsalt käigu pealt õppima.

5. Soovime kahekeelseid alglaadimisi standardvarustuses

Kahe keele korraga õppimine pole sugugi väike saavutus. Kuid kahe keele oskus valmistab meie lõpetajaid paremini ette konkurentsitihedaks tööturuks ja seab nad edukaks.

Loodame, et rohkem kodeerivaid laagreid kasutab seda lähenemist oma õpilaste huvides. Julgustame tulevasi kodeerivaid õpilasi otsima kodeerivaid alglaagreid, mis seda eelist pakuvad, hoolimata neilt nõutavast lisatööstusest.