Egy nyelv uralja őket

Egy kódréteg alatt elrejtve egy nyelv sínylődik, vágyva a tanulásra.

Egy nyelv uralja őket

Jelen pillanatban a „programozás melyik nyelvet tanuljuk meg először” lekérdezés 517 millió keresési eredményt ad vissza. Mindegyik webhely egy adott nyelvet dicsér, és 90%-uk végül Pythont vagy JavaScriptet ajánl majd.

Minden további nélkül szeretném elmondani, hogy ez az 517 millió webhely mind hibás, és hogy az a nyelv, amelyet először meg kell tanulnia alapvető logika.

Nem elég csak a kódolás ismerete. A piac annyira telített az intézeteket és tanfolyamokat végzettekkel, hogy a junior pozíció gyakorlatilag megszűnt*. Ahhoz, hogy sikeres legyen a mai világban, egyszerre kell kódolnia és fejlett alapvető logikai gondolkodással kell rendelkeznie.

*a továbbiakban ne feledje, hogy ez egy fordítás, és a szerző és az Ön országának munkaerő-piaci helyzete eltérő lehet (valamint egyéb árnyalatok is), ami azonban önmagában nem rontja az eredeti cikket - kb. fordítás

Az első informatika órám

Az első találkozásom az informatikával egy szabadon választható tárgy volt, amelyet a 10. osztályban vettem le. Már az első napon, amikor beléptem az osztályterembe, örömmel láttam magam előtt a sok vödör fagylaltot és különféle feltéteket. Miután mindenki leült, a tanár bejelentette:

„Ma saját készítésű fagylaltokat kóstolunk. De egy feltétellel: egy listát kell készítenie a desszert elkészítésének konkrét utasításairól, és én követni fogom azokat."

„Semmi baj” – gondoltam –, ez a lecke nem lesz hosszú. Körülbelül egy percen belül feljegyeztem álmaim fagylaltjának tökéletes receptjét:

  1. Kikanalazzuk és egy tálba tegyünk három gombóc málnafagylaltot
  2. Nyissa ki a csokoládészószt, és adjon hozzá két evőkanál ugyanabba a tálba
  3. Adjuk hozzá a tejszínhabot a tálba
  4. Az egészet megszórjuk cukorrudakkal, és a tetejére teszünk egy cseresznyét

A tanárom – a „számítógép” ebben az aranyos metaforában – szarkasztikusabb, szó szerinti előadást mutatott be, mint amit valaha láttam. Buzgón bökdösni kezdte a fagylaltos vödröt egy gombóccal anélkül, hogy megérintette volna a fedelét.

– Oké, oké, de előbb ki kell nyitnod! - kiáltottam, és próbáltam a lehető leggyorsabban megszerezni a csemegét.

– Ezt nem írtad be az utasításba, és nem tudtam fagylaltot készíteni. KÖVETKEZŐ!"

Gyorsan előre a 2. kísérletre

  1. A fedél levételével nyissa ki a málnafagylaltot
  2. Kikanalazzuk és egy tálba tegyünk három gombóc málnafagylaltot
  3. Nyissa ki a csokoládészószt, és adjon hozzá két evőkanál ugyanabba a tálba
  4. Adjuk hozzá a tejszínhabot a tálba
  5. Az egészet megszórjuk cukorrudakkal, és a tetejére teszünk egy cseresznyét

Nos, most biztosan nem lehet semmi probléma. Minden esetre megbizonyosodtam arról, hogy a kulináris remekem elkészítéséhez minden hozzávaló nyitva van.

A tanár levette a fedelet, kikanalazott és három gombóc fagylaltot tett egy tálba. "Végre elkezdett valóra válni a gyönyörű fagylaltom!" Ezután kinyitotta a csokoládészószt, és két evőkanálnyit tett a tálba. Nem „két evőkanálból csokoládészószt adott hozzá” – ne gondolja –, természetesen magát a kanalakat tette bele a tálba. Nincs bennük szósz. Megint nem vettem a fáradságot, hogy mindent pontosan leírjak. Miután a többit ugyanabban a szellemben végeztük, kaptam egy tál fagylaltot és két evőkanálnyit, alig észrevehetően a tejszínhab tengere alatt. A tetején volt egy pár cukorrúd.

Úgy tűnik, ebben a pillanatban végleg tudatosult bennem: a számítógép logika egy légüres térben. Nincs tisztában a környező körülményekkel, és nem tesz feltételezéseket. Csak világosan megfogalmazott utasításokat hajt végre, és azokat szóról szóra követi.

A végeredményem egy hosszú, de szükséges próbálkozás és hiba sorozat eredménye volt:

  1. Ha még nem tette meg, nyissa ki a következő csomagok mindegyikét: málnafagylalt, csokoládészósz, tejszínhab, cukorrudak.
  2. Vegyen ki egy tálat, és tegye maga elé
  3. Vegyünk egy fagylaltkanalat, és tegyünk egyenként három gombóc málnafagylaltot egy tálba. Tegye vissza a fagylaltkanalat a helyére.
  4. Vegyünk egy üveg csokoládészószt, kanalazzuk a szószt, és öntsük egy evőkanál tartalmát egy tálba. Ismételje meg a kikanalazási és öntési folyamatot még egyszer. Helyezze vissza a kanalat és az üveget a helyére.
  5. Fogjuk fejjel lefelé a csomag tejszínhabot, és a tál fölé tartva öntsük 3 másodpercig a fagylaltra, majd tegyük vissza a csomagot a helyére.
  6. Vegyünk egy üveg cukorrudat, öntsünk körülbelül negyven rudat egy tálba, és tegyük vissza az üveget.
  7. Vegyünk egy cseresznyét a meggyes tálból, és helyezzük a fagylalt tetejére.
  8. Adj a tanulónak egy tálat a kész fagylalttal és egy kanalat.

Az utolsó pont különösen fontos volt, mert enélkül utolsó előtti alkalommal a tanárnő egyszerűen elkezdte enni a fagyimat.

De ez programozás. Az a stressz, hogy gondos utasításkészletet készítsen a számítógéphez. Lényegében minden programozási nyelv ehhez kapcsolódik – az utasítások írása.

Programozói karrier

A programozás elérte azt a pontot, ahol nehéz egyetlen iparágként tárgyalni, ahogyan nehéz egyetlen „programozó” szót munkaköri leírásként használni. Két fejlesztő egyformán keresett lehet a piacon, teljesen más nyelveket ismerve, ami azt jelenti, hogy a fejlesztési képesség fontosabb, mint egy adott nyelv ismerete. Egy univerzális tulajdonság, amelyet minden sikeres fejlesztő osztozik alapvető logika.

A legjobb programozó az, aki képes új szemszögből nézni a kódot. És ez alapvetően fontos, mert a legtöbb szoftvertermék rossz kód dokumentálatlan töredékeinek gyűjteménye. Folyamatosan össze kell hozni őket, szükség szerint pótolva a hiányosságokat. Azoknak az embereknek, akik nem képesek egyetlen vonallal összekapcsolni a különböző pontokat, örökké a pálya szélén kell maradniuk.

Mindez egy újabb nyilatkozathoz vezet, ezúttal vastagon szedve: az alapvető tudás mindig is elsődleges volt és lesz a programozó számára.

A nyelvek jönnek és mennek. A keretrendszerek elavulnak, és a vállalatok az általuk használt technológiai halmaz megváltoztatásával reagálnak a keresletre. Van valami, ami soha nem fog megváltozni? Igen – alapvető tudás, amit fundamentumnak neveznek, mert mindennek az alapja!

Hogyan lehet fejleszteni az alapvető ismereteket

Egy nyelv uralja őketFotó: Christopher Jeschke on Unsplash

Ha kiindulópontot keres alapvető logikai gondolkodásának fejlesztéséhez, próbálja ki innen:

Ismerje meg programja összetettségét

Más néven Nagy O Az „algoritmus bonyolultsága” a program végrehajtásához szükséges idő függését jelenti a bemeneti adatok méretétől. (N). Fontos lépés, hogy az ujját a használt algoritmusokon tartsa.

Ismerje meg adatstruktúráit

Az adatstruktúrák minden modern program középpontjában állnak. Annak ismerete, hogy melyik struktúrát melyik esetben kell használni, az önálló tudományág. Az adatstruktúrák közvetlenül kapcsolódnak a futásidejű összetettséghez, és a rossz struktúra kiválasztása alapvető teljesítményproblémákhoz vezethet. Egy elem megkeresése egy tömbben az O (n), ami a tömbök bemeneti adatként való használatának magas költségeit jelzi. Hash tábla keresése − O (1), ami azt jelenti, hogy ebben az esetben az érték keresésének ideje nem függ az elemek számától.

Az emberek eljöttek hozzám egy interjúra, és azt állították, hogy a tömbben való keresés gyorsabb, mint a hash-táblázatban. Ez volt a legbiztosabb jele annak, hogy ne alkalmazza őket – ismerje meg adatstruktúráit.

Olvasni/nézni/hallgatni

Olyan oldalak, mint UdemyPluralsight и Codecademy - Kiváló választás új programozási nyelvek tanulásához. De az alapokért olvassa el az általános kódolási elvekről, gyakorlatokról és stílusokról szóló könyveket. A leginkább ajánlott könyvek a „Design Patterns”, „Refaktoring. Meglévő kód, „Tökéletes kód”, „Tiszta kód” és „Pragmatikus programozó” javítása. Végül minden fejlesztőnek meg kell őriznie a "Algoritmusok" kéznél.

Gyakorlat!

Nem főzhet rántottát anélkül, hogy feltörné a tojást. Olyan oldalak, mint Hacker RankCodeWarsCoderByte, TopCoder и LeetCode érdekes rejtvények ezreit kínálja, hogy tesztelje az adatstruktúrákkal és algoritmusokkal kapcsolatos ismereteit. Próbáljon szerencsét egy Önnek tetsző probléma megoldásában, tegye közzé a megoldást a Githubon, majd nézze meg, hogyan álltak hozzá mások. Ezzel el is jutunk az utolsó ponthoz:

Olvassa el mások kódját

A legnagyobb hiba, amit elkövethetsz, ha elindulsz a fejlődés útján, ha egyedül haladsz. A szoftverfejlesztés nagyrészt csapatmunka. Együtt alkotunk szabványokat, együtt hibázunk, és minden kudarc ellenére együtt jobbakká válunk. A mások kódjának olvasásával töltött idő bőven megtérül. Csak győződjön meg róla, hogy jó a kód.

Nos, a legjobb tanács, amit adhatok, hogy soha ne szégyelld, hogy még nem tudsz valamit. Ahogy már elhangzott, iparágunk hatalmas, a technológia pedig végtelen. Sok időt és erőfeszítést igényel az összkép felépítése, még több ahhoz, hogy valamiben profi legyél, és még egy nagyságrenddel több ahhoz, hogy a szakterületeden csiszold tudásodat. Majd szólok, ha magam is elérem ezt.

Forrás: will.com

Hozzászólás