Néhány héttel ezelőtt arról írtam, hogy milyen tapasztalataimmal próbálom megtanulni a Codecademy, az Udemy és az freeCodeCamp programokat a JavaScript, a C #, a Python és egyebek elsajátításával, valamint az oktatói tisztítótűzből való meneküléssel és a fejlesztőként való előrelépéssel.
A programozási nyelv döntése rendkívül nehéz és időigényes lehet, mivel több tucat lehetőség áll rendelkezésre, sok ellentmondó információval. Ebben a cikkben megosztok néhány lehetőséget a kódolás elsajátításával kapcsolatos saját tapasztalataim alapján, javaslatokkal a programozási nyelv kiválasztására, az oktatói purgatórium elkerülésére és a fejlesztőként való előrehaladásra.
Ha szeretné, itt van ennek a bejegyzésnek a videóváltozata (11 perces nézés):
1. szcenárió: Tudja, mit szeretne építeni
Gyakran az ilyen cikkekben (vagy a "Milyen kódnyelvet kell tanulnom?" Infografikákban, amelyeket valószínűleg alaposan ismer), arra kérik, hogy kritikusan gondolja át, mit szeretne építeni, miután megtanulta kód.
Ez a megközelítés akkor hasznos, ha van némi elképzelése arról, hogy mi az, amit egy programozási nyelvvel szeretne kezdeni , miután megtanulta, de nem annyira, ha csak kódolni akar , mint az én tapasztalatom. Ebben a cikkben mindkét forgatókönyvre kitérek.
Ha tudod, milyen irányba szeretnéd eljuttatni a kódolói karrieredet egy programozási nyelv megtanulása után, akkor valószínűleg könnyebb lesz kitalálnod, hogy melyik nyelvet kell először megtanulni. Íme néhány javaslat abban az esetben.
Kezelőfelület fejlesztése: JavaScript (és HTML / CSS)
Ha már tudja, hogy a weboldalak "kezelőfelületén" akar dolgozni - vagyis bármi, amit a felhasználó lát, amikor egy webhelyre érkezik -, akkor a kódolás útját a JavaScript megtanulásával kell kezdeni. Valószínűleg azzal kezdi, hogy megtanulja a HTML-t és a CSS-t, amelyek szinte minden webhely gerincét képezik, majd elkezdi a JavaScript hozzáadását a webhelyek funkcionalitásának és interaktivitásának javítása érdekében.
A JavaScript meglehetősen mindenütt jelen van, mint programozási nyelv, és könnyebb a rámpán, mint más, alacsonyabb szintű nyelveken, mint a C ++. Nagyszerű átugrási pont, ha nem tudod, mit akarsz megtanulni ... de erről később.
Háttérfejlesztés: Python, C # vagy JavaScript (és SQL)
Tegyük fel, hogy jobban érdekli a weboldalak zsigereinek megismerése, a "háttérvégek" kezelése és az adatbázis-adminisztráció kipróbálása. Nagyon sok lehetőséged van itt, és a legegyszerűbb út a Python, amely egy kezdőbarát nyelv, amelynek érett keretei vannak (pl. Django és Flask) a háttér fejlesztéséhez.
Nem tévedhet a C # programmal sem, amely a Microsoft .NET ökoszisztémájának és egy olyan programozási nyelvnek teszi ki Önt, amely egyszer a gyomokba keveredve örömmel dolgozik. És ha "teljes verem" -re gondolsz - vagyis elöl és hátul fejleszteni akarsz -, akkor fontolóra veheted a JavaScript megtanulását, amely fiatalabb, de nagyon értékelt háttér-keretrendszerekkel rendelkezik, mint például az Express és a Koa. Ez megkönnyíti a tanulási folyamatot is, mivel ugyanazt a nyelvet fogja használni mindkét halom kódolásához.
Bármelyik nyelvet is választja a háttérfejlesztéshez, valószínűleg fel fogja venni az SQL hozzáadását az eszköztárához az adatbázis-kezeléshez, ezért tegye ezt a radarjára.
2D-s játékfejlesztés: JavaScript vagy C #
Írtam másutt arról, hogy milyen motort kell használni a 2D-s játékok készítéséhez, de itt van a sovány.
Nagyon sok 2D-s játékmotor létezik, amelyek közül sok lehet, vagy nem felel meg az Ön játékfejlesztőként való rajongásának, és mindegyiknek megvan a maga előnye, sajátossága és tanulási görbéje. Néhány közülük, például a Game Maker Studio 2, a saját saját nyelvét használja a szkriptek futtatásához, de én azt javaslom, hogy először tanulja meg a JavaScript-et vagy a C # -ot, még akkor is, ha hosszú távon más játékmotor használatát fontolgatja. .
A JavaScript használatával olyan keretrendszereket használhat, mint a Phaser, 2D-s játékok készítéséhez, vagy olyan teljes funkcionalitású motorokat, mint a Construct 3 (amely valójában az drag-and-drop fejlesztést használja az egyéni szkriptek számára). Ha inkább a C # elsajátítását választja, akkor a Unity 2D-vel, vagy esetleg a MonoGame-mel fog együtt dolgozni - de valójában azt javaslom, hogy kezdje a nem motoros oktatóanyagokkal (pl. .NET), hogy először jól kezelje a nyelvet.
A JavaScript vagy a C # elsajátítása megalapozza azokat a kódolási ismereteket, amelyekre szüksége lesz egy másik játékmotor, például a Game Maker kezeléséhez, miközben olyan programokkal is ellátja Önt, mint a bevált gyakorlatok programozása és a tiszta kódszervezés.
3D játékfejlesztés: C # vagy C ++
Számos lehetőség kínálkozik a 3D játékfejlesztés kódolásának megtanulására, és azt javaslom, hogy kezdje a C # vagy a C ++ paranccsal. Valójában, kivéve, ha szuper technikai hozzáértés vagy, ha már rendelkezik háttérrel a programozásban, azt javasoljuk, hogy kezdje a C # -val, és haladjon tovább a C ++ -ig. Könnyebb tanulási görbéd lesz, és megtanulod az alapvető programozási koncepciókat anélkül, hogy olyan dolgokkal kellene foglalkoznod, mint a memóriakezelés és az alacsonyabb szintű kód.
Valószínűleg mindenesetre befejezi mindkettő tanulását, de ha a C # -val kezdi, akkor bütykölhet a Unity 3D-vel, majd az Unreal Engine 4 segítségével eljuthat a C ++ felé.
Adattudomány / Gépi tanulás: Python
Bár más nyelveken vannak lehetőségek az adattudomány / elemzés és a gépi tanulás elsajátítására, a Python jelenleg a kódolás ezen területének aranystandardja. Megtanulni meglehetősen egyszerű nyelv, és jó programozási szokásoknak és széles körben használt keretrendszereknek teszi ki, így itt nem tévedhet el.
2. forgatókönyv: Nem tudod, mit akarsz építeni
Külön megvan a lehetősége, hogy napokat, heteket vagy akár hónapokat töltött cikkek, videók, reddit bejegyzések és a Stack Overflow kérdések keresésével a programozási nyelvekről olvasva, és még mindig nincs ötlete, hova fektesse az idejét, mert nem tudja amit fel akar építeni.
Ott már voltam. Ez idegesítő.
Javaslom neked, bármennyire is elcsépeltnek tűnik, hogy csak válassz egyet. Szó szerint bármelyik, még akkor is, ha nem szerepel itt. Tanuljon JavaScriptet. Vagy Python. Vagy Rust. Vagy Haskell.
OK, talán nem Haskell. De válasszon valamit , és tartsa be ahhoz elég sokáig, hogy megtanulja az alapokat, és megnézze, van-e lehetőség arra, hogy ezt a nyelvet szeretné használni az építkezéshez. És ne felejtsen el két dolgot közben:
- Határidőt szabjon magának. Például: "A következő három hónapban megtanulom a JavaScriptet megtanulni az freeCodeCamp oktatóanyagok segítségével." Ha az adott időszak végén úgy érzi, hogy halad, és érdekes az Ön számára, folytassa! Ha nem, akkor itt az ideje, hogy átgondolja a választott nyelvet, és megnézze, van-e valami, ami jobban megfelelne az Ön számára.
- Készítsen valamit, ami nincs az oktatóanyagaiban. Ez kulcsfontosságú lépés a fejlesztői fejlődésedben. A következő részben foglalkozom vele.
3. szcenárió: Megakadt az oktatótisztító kórházban
Ha azt találta, hogy oktatóanyag után oktatást tart ugyanazon vagy különböző webhelyeken, anélkül, hogy valaha is érezné, hogy halad, akkor nagyon csalódott lehet a kódolás megtanulása terén. Ott voltam, és tudok segíteni.
Az első lépés annak átgondolása, hogy a programozási oktatóanyagok mire jóak és mi nem. A legtöbb online oktatóanyag - különösen azok, amelyek lehetővé teszik a kódot közvetlenül a böngészőben - kiválóan alkalmasak a programozás megtanítására.
Másrészt nem alkalmasak arra, hogy megtanítsák, hogyan kell programozónak lenni.
A legjobb oktatóanyagok alapvető kódolási koncepciók elé tárják, és megkövetelik, hogy ezeket az ismereteket rejtvények és projektek megoldására alkalmazza. Csodálatos tanulási eszközök, amelyek ha alkalmazási körükön kívül használnak, mankókká válhatnak, amelyek elfojtják a tanulást.
Egy programozó például nem ül egész nap oktatóanyagokat készítve. A programozó programoz , és pontosan ezt kell tennie, hogy előrelépjen, miután elsajátította az alapokat.
A fejlesztőként való előrehaladás legjobb módja, ha kiválaszt egy projektet a választott nyelven, és elindul hozzá. Ha például JavaScriptet tanul, akkor dönthet úgy, hogy elkészít egy egyszerű weboldalt HTML / CSS-sel, és hozzáad némi interaktivitást a jQuery-vel. Valószínűleg egy integrált fejlesztői környezet létrehozásával kezdi, azonnal megfeledkezve arról, hogyan kell csinálni valamit, amit az oktatóanyagaiban megtanult, csalódni kezd, irány a Google, keresse meg a választ és folytassa. Ezután halad, elakad, megkeresi a Stack Overflow-t, megkaparja a fejét a hivatalos dokumentáción, esetleg megosztja valakivel a kódját, és megismétli az egész folyamatot.
És pontosan azt fogja csinálni, amit a programozók csinálnak egy új projekt felépítésekor.
Végül valóban nem tévedhet el azzal, hogy milyen programozási nyelvet választ, még akkor is, ha nem szerepel ebben a listában. Ha felveszi az egyiket, megtanulja az alapokat, elkészít egy projektet és eldönti, hogy ez nem neked szól, akkor ez a tapasztalat hosszú távon még mindig segít. A folyamat során elsajátított információk hasznosak lehetnek, függetlenül attól, hogy milyen nyelvet használ a projektjeihez.
Meg tudod csinálni!
Ha tetszett ez a cikk, kérjük, fontolja meg a játékaim és könyveim megtekintését, a YouTube-csatornámra való feliratkozást vagy a csatlakozást az Entromancy Discord-hoz.
Farzan MS, Ph.D. írt és dolgozott olyan nagy horderejű videojáték-társaságoknál és szerkesztőségi weboldalakon, mint az Electronic Arts, a Perfect World Entertainment, a Modus Games és az MMORPG.com, valamint közösségi vezetőként dolgozott olyan játékoknál, mint a Dungeons & Dragons Neverwinter és a Mass Effect: Andromeda . Az Entromancy: A Cyberpunk Fantasy RPG kreatív igazgatója és vezető játéktervezője,valamint a The Nightpath Trilogy szerzője. Keresse meg MS Farzant a Twitteren @sominator.