Kaip pasirinkti programavimo kalbą ir pabėgimo pamokų skaistyklą

Prieš kelias savaites paskelbiau apie savo patirtį bandant išmokti „JavaScript“, „C #“, „Python“ ir dar daugiau iš „Codecademy“, „Udemy“ ir „freeCodeCamp“, taip pat pabėgti iš pamokų skaistyklos ir iš tikrųjų daryti pažangą kaip kūrėjui.

Sprendimas dėl programavimo kalbos gali būti nepaprastai sudėtingas ir užimantis daug laiko, nes yra daugybė variantų, kuriuose pateikiama daug prieštaringos informacijos. Šiame straipsnyje pasidalinsiu keliomis galimybėmis, pagrįstomis savo patirtimi mokantis koduoti, ir pasiūlymų, kaip pasirinkti programavimo kalbą, pabėgti pamokų skaistykloje ir padaryti pažangą kaip kūrėjui.

Jei norite, pateikite šio įrašo vaizdo versiją (11 minučių žiūrėjimas):

1 scenarijus: jūs žinote, ką norite sukurti

Dažnai tokiuose straipsniuose kaip šie (arba infografijose „Kokią kodavimo kalbą turėčiau išmokti?“, Su kuria tikriausiai esate gerai susipažinęs) jūsų paprašoma kritiškai pagalvoti, ką norite sukurti po to, kai išmoksite kodas.

Šis požiūris yra naudingas, jei turite tam tikrą idėją apie tai, ką norite daryti su programavimo kalba išmokę ją, bet ne tiek, jei norite tiesiog išmokti koduoti , kaip buvo mano patirtis. Apžvelgsiu abu scenarijus šiame straipsnyje.

Jei tikrai žinote, kokia linkme norite pereiti į kodavimo karjerą, išmokę programavimo kalbą, greičiausiai jums bus lengviau suprasti, kurią kalbą mokytis pirmiausia. Štai keli pasiūlymai tokiu atveju.

Priekinės dalies kūrimas: „JavaScript“ (ir HTML / CSS)

Jei jau žinote, kad norite dirbti su internetinių puslapių sąsaja, ty viskas, ką vartotojas mato atėjęs į svetainę, turėtumėte pradėti savo kodavimo kelionę mokydamiesi „JavaScript“. Tikriausiai pradėsite išmokti HTML ir CSS, kurie sudaro beveik kiekvienos svetainės pagrindą, ir tada pradėsite pridėti „JavaScript“, kad padidintumėte savo svetainių funkcionalumą ir interaktyvumą.

„JavaScript“ yra gana visur paplitusi kaip programavimo kalba, o perone ji yra lengviau nei kitose žemesnio lygio kalbose, tokiose kaip C ++. Tai puikus peršokimo taškas, jei nežinote, ko norite išmokti ... bet apie tai vėliau.

Atgalinės programos kūrimas: „Python“, C # arba „JavaScript“ (ir SQL)

Tarkime, kad jums įdomiau sužinoti apie svetainių žarnas, valdyti „galinę dalį“ ir išbandyti savo jėgas administruojant duomenų bazę. Čia turite daugybę variantų, o pats tiesiausias kelias yra „Python“, tai yra pradedantiesiems tinkama kalba, turinti brandžius pagrindus (pvz., „Django“ ir „Flask“), skirtus kurti galinę programą.

Taip pat negalite suklysti su C #, kuris jus apims „Microsoft“ .NET ekosistema ir programavimo kalba, kuri, patekus į piktžoles, yra malonu dirbti. Ir jei jūs ketinate pereiti į „visą šūsnį“ - tai reiškia, kad norite plėtoti priekinę ir galinę puses, galite apsvarstyti galimybę išmokti „JavaScript“, kuriame yra jaunesnių, bet labai vertinamų galinių sistemų, tokių kaip „Express“ ir „Koa“. Tai padarius, jūsų mokymosi procesas taip pat bus lengvesnis, nes naudosite tą pačią kalbą abiejų grupių kodavimui.

Nesvarbu, kurią kalbą pasirinksite programinės įrangos kūrimui, greičiausiai taip pat turėsite pridėti SQL prie savo įrankių rinkinio duomenų bazės valdymui, todėl įdėkite tai į savo radarą.

2D žaidimų kūrimas: „JavaScript“ arba C #

Aš jau rašiau kitur apie tai, kokį variklį turėtumėte naudoti kurdami 2D žaidimus, bet čia yra liesas.

Yra daug 2D žaidimų variklių, kurių daugelis gali arba netinka jūsų, kaip žaidimų kūrėjo, fantazijai, ir kiekvienas jų turi savo pranašumų, savitumų ir mokymosi kreivę. Kai kurie iš jų, pavyzdžiui, „Game Maker Studio 2“, naudoja nuosavas kalbas, kad paleistų scenarijus, tačiau aš iš tikrųjų rekomenduočiau pirmiausia išmokti „JavaScript“ arba „C #“, net jei ilgainiui ketinate naudoti kitą žaidimo variklį. .

Naudodami „JavaScript“, galite naudoti tokias sistemas kaip „Phaser“, kad galėtumėte kurti 2D žaidimus, arba visiškai pasižyminčius variklius, pvz., „Construct 3“ (kuris iš tikrųjų naudoja „drag and drop“ kūrimą su vieta pasirinktiniams scenarijams). Jei pasirinksite mokytis C #, dirbsite su „Unity 2D“, o gal „MonoGame“, bet aš iš tikrųjų rekomenduočiau pradėti nuo ne variklio vadovėlių (pvz., .NET), kad pirmiausia gerai suprastumėte kalbą.

Išmokę „JavaScript“ arba „C #“, gausite pagrindines žinias apie kodavimą, kurių jums reikės norint panaudoti kitą žaidimų variklį, pvz., „Game Maker“, taip pat suteiksite jums tokių dalykų, kaip geriausia programavimo praktika ir švarus kodų tvarkymas.

3D žaidimų kūrimas: C # arba C ++

Yra daugybė galimybių išmokti koduoti 3D žaidimus, ir aš siūlau pradėti nuo C # arba C ++. Tiesą sakant, nebent jūs esate išmanantis technologijas ar jau neturite programavimo pagrindo, aš jums rekomenduoju pradėti nuo C # ir pereiti iki C ++. Turėsite lengvesnę mokymosi kreivę ir išmoksite pagrindines programavimo sąvokas, nesusitvarkydami su tokiais dalykais kaip atminties valdymas ir žemesnio lygio kodas.

Bet kuriuo atveju jūs tikriausiai baigsite mokymąsi, bet jei pradėsite nuo C #, galėsite paplušėti „Unity 3D“ ir paskui „Unreal Engine 4“ pasiekti „C ++“.

Duomenų mokslas / mašininis mokymasis: „Python“

Nors kitose kalbose yra galimybių mokytis duomenų mokslo / analizės ir mašininio mokymosi, „Python“ šiuo metu yra auksinis šios kodavimo srities standartas. Tai gana paprasta kalba, kurią reikia išmokti, ir ji jus apims gerais programavimo įpročiais ir plačiai naudojamais pagrindais, todėl čia negalėsite suklysti.

2 scenarijus: nežinote, ką norite sukurti

Yra aiški galimybė, kad dienas, savaites ar net mėnesius praleidote ieškodami straipsnių, vaizdo įrašų, reddit įrašų ir „Stack Overflow“ klausimų skaitydami apie programavimo kalbas, ir vis dar neįsivaizduojate, kur investuoti savo laiką, nes nežinote ką norite pastatyti.

Aš buvau ten. Tai erzina.

Mano rekomendacija jums, kad ir kaip atrodytų, yra tiesiog pasirinkti vieną. Žodžiu, bet kuris iš jų, net jei jų čia nėra. Eikite mokytis „JavaScript“. Arba „Python“. Arba Rūdys. Arba Haskellas.

Gerai, gal ne Haskellas. Bet išsirinkite ką nors ir laikykitės jo pakankamai ilgai, kad išmoktumėte pagrindų ir sužinotumėte, ar yra galimybė, kad galbūt norėtumėte naudoti tą kalbą kurdami ją. Tai darydami turėkite omenyje du dalykus:

  1. Nustatykite laiko limitą sau. Panašiai kaip: „Aš per ateinančius tris mėnesius mokysiuosi„ JavaScript “naudodamas„ freeCodeCamp “mokymo programas. Jei to laikotarpio pabaigoje jaučiate, kad darote pažangą ir jums tai įdomu, tęskite! Jei ne, gali būti laikas persvarstyti pasirinktą kalbą ir sužinoti, ar yra kažkas, kas jums gali labiau tikti.
  2. Sukurkite tai, ko nėra jūsų pamokose. Tai yra labai svarbus jūsų, kaip kūrėjo, augimo žingsnis . Aš jį aptarsiu kitame skyriuje.

3 scenarijus: Jūs įstrigote pamokų skaistykloje

Jei pastebėjote, kad vedate pamoką po pamokos tose pačiose ar skirtingose ​​svetainėse, bet niekada nesijaučiate darantys pažangą, galite būti labai nusivylę mokymosi koduoti patirtimi. Aš ten buvau ir galiu padėti.

Pirmiausia reikia apsvarstyti, kam tinka programavimo pamokos, o kam ne. Daugelis internetinių mokomųjų programų, ypač leidžiančios koduoti tiesiai naršyklėje, puikiai išmoko programuoti.

Kita vertus, jie nėra tinkami išmokyti jus būti programuotoju.

Geriausios pamokos padės susipažinti su pagrindinėmis kodavimo koncepcijomis ir pareikalauti, kad šias žinias pritaikytumėte galvosūkiams ir projektams spręsti. Tai nuostabios mokymosi priemonės, kurios, jei naudojamos už jų ribų, gali tapti ramentais, kurie slopins jūsų mokymąsi.

Pavyzdžiui, programuotojas nesėdi visą dieną ir daro pamokas. Programuotojas programos , ir kad būtent tai, ko jums reikia padaryti, norint padaryti pažangą, kai jūs įsisavinome pagrindai.

Geriausias būdas siekti pažangos kaip kūrėjas yra išsirinkti projektą jūsų pasirinkta kalba ir pasiryžti tai padaryti. Pavyzdžiui, jei mokotės „JavaScript“, galite sukurti paprastą svetainę su HTML / CSS ir pridėti šiek tiek interaktyvumo su „jQuery“. Tikriausiai pradėsite sukūrę integruotą kūrimo aplinką, iškart pamiršdami, kaip padaryti tai, ko išmokote savo pamokose, nusivilti, kreiptis į „Google“, rasti atsakymą ir tęsti. Tada padarysite pažangą, užstrigsite, ieškosite „Stack Overflow“, nubraukite galvą oficialioje dokumentacijoje, galbūt pasidalinsite kodu su kuo nors ir pakartosite visą procesą.

Kurdami naują projektą atliksite būtent tai, ką daro programuotojai.

Galiausiai, jūs tikrai negalite suklysti pasirinkdami programavimo kalbą, net jei jos nėra šiame sąraše. Jei pasirinksite vieną, išmoksite pagrindų, sukursite projektą ir nuspręsite, kad tai ne jums, ši patirtis iš tikrųjų vis tiek jums padės ilgainiui. Informacija, kurią sužinosite proceso metu, bus naudinga, neatsižvelgiant į tai, kokią kalbą galiausiai vartosite savo projektuose.

Tu gali tai padaryti!

Jei jums patiko šis straipsnis, apsvarstykite galimybę peržiūrėti mano žaidimus ir knygas, užsiprenumeruoti „YouTube“ kanalą ar prisijungti prie „ Entromancy Discord“.

MS Farzanas, daktaras parašė ir dirbo aukšto lygio vaizdo žaidimų kompanijose ir redakcijos svetainėse, tokiose kaip „Electronic Arts“, „Perfect World Entertainment“, „Modus Games“ ir „MMORPG.com“, ir dirbo bendruomenės valdytoju tokiems žaidimams kaip „ Dungeons & Dragons Neverwinter“ ir „ Mass Effect: Andromeda“ . Jis yra „ Entromancy: A Cyberpunk Fantasy RPG “ kūrybinis direktorius ir pagrindinis žaidimų dizaineris bei „ Naktinio kelio trilogijos“ autorius. Suraskite MS Farzan „Twitter“ @sominator.