Egy nyelv, hogy mindent irányítson

A nyelv, amely a kód rétege alatt szomjazik a tanulásra.

Egy nyelv, hogy mindent irányítson

A cikk írásának pillanatában a "milyen programozási nyelvet tanuljunk először" keresés 517 millió keresési eredményt ad. Ezen oldalak mindegyike egy adott nyelvet dicsér, és ezek 90%-a végül a Python vagy a JavaScript ajánlásához jut.

Hosszas bevezetés nélkül szeretném hivatalosan is kijelenteni, hogy ezek az 517 millió oldal téved, és elmondani, hogy az első nyelv, amelyet meg kell tanulni — alapvető logika.

Csak az, hogy tudsz kódot írni, már nem elég. A piac olyan telített a diplomás diákokkal és kurzusokkal, hogy a junior pozíciók gyakorlatilag megszűntek*. Ahhoz, hogy sikeres legyél a mai világban, nemcsak kódolnod kell, hanem fejlett alapvető logikai gondolkodással is rendelkezned.

* Kérlek, itt és a továbbiakban tartsd szem előtt, hogy ez egy fordítás, és a munkaerőpiac helyzete az író országában és a tiédben eltérhet (ahogy más árnyalatok is), ami azonban önmagában nem csökkenti a cikk eredeti minőségét – a fordító megjegyzése.

Az első informatika órám

Az informatika első találkozásom egy fakultatív tantárgy volt, amelyet a 10. osztályban választottam. Az első napon, belépve az osztályterembe, el voltam ragadtatva, amikor láttam rengeteg gombócot és különböző feltéteket. Miután mindenki elhelyezkedett, a tanárnő kijelentette:

„Ma a saját készítésű fagyinkat fogjuk kóstolni. De van egy feltétel: egy konkrét utasítássorozatot kell készítenetek a desszert elkészítéséről, és én azt fogom követni.”

„Nincs probléma, – gondoltam, – ez az óra nem lesz hosszú.” Körülbelül egy perc múlva összedobtam egy nagyszerű receptet az álmom fagyijához:

  1. Végy ki és tegyél három gombócot a málnafagyból egy tálba.
  2. Nyisd ki a csokoládészószt, és adj hozzá két evőkanalat ugyanabba a tálba.
  3. Tedd hozzá a tejszínhabot a tálhoz.
  4. Szórd meg az egészet cukorbotokkal, és tegyél a tetejére egy cseresznyét.

A tanárnőm, a "számítógép" ebben a kedves metaforában, egy furcsa, szarkasztikus előadást adott, amilyet még soha nem láttam. Hirtelen elkezdte kaparni a fagylaltot a gombócözővel, anélkül, hogy hozzáért volna a fedőhöz.

„Jól van, jól van, de előbb ki kell nyitni!” – kiáltottam, próbálva minél hamarabb megkapni az édességet.

«Nem írtad le az utasításban, és nem tudtam elkészíteni neked a fagyit. KÖVETKEZŐ!»

Görgessünk az időn a 2. próbáig

  1. Nyisd ki a málnás fagyit, távolítsd el a kupakot
  2. Végy ki és tegyél három gombócot a málnafagyból egy tálba.
  3. Nyisd ki a csokoládészószt, és adj hozzá két evőkanalat ugyanabba a tálba.
  4. Tedd hozzá a tejszínhabot a tálhoz.
  5. Szórd meg mindezt cukordarabokkal, és tegyél rá egy cseresznyét a tetejére

Most már biztosan nem lesznek problémák. Még véletlenszerűségből is megbizonyosodtam róla, hogy minden hozzávalóm a kulináris mesterművem elkészítéséhez nyitva van.

A tanárnő eltávolította a kupakot, merített, és három gombóc fagyit tett a tálba. «Végre megvalósul a gyönyörű púderem!» Aztán megnyitotta a csokoládé szószt, és két evőkanálnyit adott a tálba. Nem «adott két evőkanálnyi csokoládé szószt» — ne gondold — természetesen a kanalat tette a tálba. Szósz nélkül. Újra nem fáradtam el, hogy mindent pontosan leírjak. Miután a többit is hasonló szellemiséggel készítették el, kaptam egy tál fagyit és két evőkanalat, amit alig lehetett észrevenni a felhőnyi tejszínhab alatt. A tetején pár cukorkával.

Úgy tűnik, ebben a pillanatban végre rájöttem: a számítógép — logika vákuumban. Nem tud a körülményekről, és nem tesz fel feltételezéseket. Csak a pontosan megfogalmazott utasításokat hajtja végre, szó szerint követve őket.

Végső eredményem egy hosszú, de szükséges próbálkozások és tévedések sorozatának eredménye volt:

  1. Nyisd ki, ha még nem tetted, az alábbi csomagokat: málnás fagylalt, csokoládé szósz, tejszínhab, cukordarabok.
  2. Vedd elő a tálat, és tedd magad elé
  3. Fogj egy fagyiskanál és egyenként tedd a három gombóc málnás fagyit a tálba. Tedd vissza a fagyiskanál a helyére.
  4. Vedd elő a csokoládé szósz konzervet, merítsd a szószt, és öntsd a tálba a kanál tartalmát. Ismételd meg az akciót még egyszer a merítéssel és öntéssel. Tedd vissza a kanalat és a konzervet a helyére.
  5. Vedd és fordítsd meg a felhabbal teli csomagolást, és tartsd a tál fölé, öntözd a fagyira 3 másodpercig, majd tedd vissza a csomagolást a helyére.
  6. Vedd elő a cukordarabokat tartalmazó konzervet, önts körülbelül negyven darabot a tálba, és tedd vissza a konzervet a helyére.
  7. Vegyél ki egy cseresznyét a cseresznye tálból, és tedd a fagyira a tetejére.
  8. Add át a diáknak a tál fagyit és a kanalat.

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

De ez a programozás. Egy feszített folyamat, amely a komputer számára alapos utasításokat készít. Lényegében ez minden programozási nyelv célja - utasítások megfogalmazása.

KARRIER PROGRAMOZÁSBAN

A programozás eljutott arra a pontra, hogy már nem lehet egy egységes iparként tárgyalni róla, ahogy egyetlen szó, mint a "programozó" sem elegendő egy munkakör leírásához. Két fejlesztő piaci szempontból egyaránt keresett lehet, pedig teljesen eltérő nyelveket ismernek, így a fejlesztési tudás fontosabb, mint a konkrét nyelv ismerete. A sikeres fejlesztők közös attribútuma - alapvető logika.

A legjobb programozó képes új szögből nézni a kódra. Ez alapvetően fontos, mert a legtöbb szoftvertermék számos dokumentálatlan, rossz kód darabjából áll. Ezeket folyamatosan össze kell kapcsolni, a réseket kitöltve, ahogy szükséges. Azok, akik nem képesek az elkülönült pontokat egy vonallá kapcsolni, mindig a második vonalban fognak maradni.

Mindez elvezet még egy kijelentéshez, ezúttal félkövérrel: a fundamentális tudás mindig is és mindig is elsődleges lesz a programozók számára..

A nyelvek jönnek és mennek. A keretrendszerek elavulnak, a vállalatok pedig a keresletre reagálva változtatják a használt technológiai halmazt. Van valami, ami soha nem változik? Igen - a fundamentális tudás, amelyet ezért neveznek így, mert minden alapját képezi!

Hogyan javítható a fundamentális tudás

Egy nyelv, hogy mindent irányítsonKép Christopher Jézsef Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata Unsplash

Ha kiindulópontot keresel a fundamentális logikai gondolkodás javításához, próbálj meg innen kezdeni:

Tudd a programod bonyolultságát

Más néven Big O "A szkript bonyolultsága" az, amely az algoritmus végrehajtási idejének függését jelenti a bemeneti adatok méretétől (n). Az algoritmusok általában használt nyomon követése fontos lépés.

Tudd az adatszerkezeteidet

A data structure is the foundation of any modern program. Knowing which structure to use in which case is a discipline in itself. Data structures are directly related to runtime complexity, and choosing the wrong structure can lead to fundamental performance issues. Searching for an element in an array is equal to O(n), which indicates the high cost of using arrays as input data. Searching in a hash table is O(1), meaning that in this case, the search time for a value does not depend on the number of elements.

During interviews, I had candidates who claimed that searching in arrays is faster than in hash tables. This was a surefire sign that they should not be hired — know your data structures.

Read / Watch / Listen

Websites like Udemy, Pluralsight és CodeAcademy are a great choice for learning new programming languages. But for the fundamentals, refer to books on general principles, practices, and coding styles. The most recommended books are 'Design Patterns', 'Refactoring: Improving the Existing Code', 'The Pragmatic Programmer', 'Clean Code', and 'Code Complete'. Finally, every developer should keep a copy of 'Algorithms' handy.

Practice!

You can't make an omelette without breaking eggs. Websites like HackerRank, CodeWars, CoderByte, TopCoder és LeetCode offer thousands of interesting problems to test your knowledge of data structures and algorithms. Try your luck solving a problem that catches your eye, upload your solution to Github, and then see how others approached it. This brings us to the final point:

Read other people's code

The biggest mistake you can make on the path of development is to walk it alone. Software development is largely a team effort. We create standards together, make mistakes together, and despite all the failures, we become better together. The time spent reading other people's code will pay off manifold. Just make sure it's good code.

A legjobb tanács, amit adhatsz, hogy soha ne szégyellj valamit, amit még nem tudsz. Ahogy már említettem, iparágunk hatalmas, a technológiák száma pedig szinte végtelen. Sok időre és energiára van szükség ahhoz, hogy képet kapj a teljes helyzetről, még több időre, hogy szakértővé válj egy adott területen, és sokkal több időre, hogy mestereddé válj a saját szakmádban. Szóljak, ha én is elértem ezt a szintet.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster