En jezik, ki bo vladal vsem

Skrit pod plastjo kode, jezik hrepeni, da bi se ga naučili.

En jezik, ki bo vladal vsem

Od tega pisanja poizvedba "programiranje, kateri jezik se najprej naučiti" vrne 517 milijonov rezultatov iskanja. Vsako od teh spletnih mest bo pohvalilo en določen jezik in 90 % jih bo na koncu priporočilo Python ali JavaScript.

Brez nadaljnjega odlašanja bi rad izjavil, da je vseh teh 517 milijonov spletnih mest napačnih in da je jezik, ki bi se ga morali najprej naučiti, temeljna logika.

Samo vedeti, kako kodirati, ni dovolj. Trg je tako nasičen z diplomanti inštitutov in tečajev, da nižje delovno mesto praktično ni več*. Če želite uspeti v današnjem svetu, morate kodirati in imeti napredno temeljno logično razmišljanje.

*v nadaljevanju ne pozabite, da je to prevod in da so razmere na trgu dela za avtorja in v vaši državi lahko drugačne (pa tudi druge nianse), kar pa samo po sebi ne poslabša izvirnega članka - pribl. prevod

Moja prva lekcija računalništva

Moje prvo srečanje z računalništvom je bil izbirni predmet, ki sem ga opravil v 10. razredu. Že prvi dan, ko sem vstopila v učilnico, sem se razveselila, ko sem pred seboj zagledala veliko število vedric sladoleda in raznih prelivov. Ko so vsi sedli, je učiteljica rekla:

»Danes bomo degustirali sladolede, ki jih sami pripravimo. A z enim pogojem: narediti moraš seznam posebnih navodil za pripravo sladice in jaz se jih bom držal.”

»Ni problema,« sem pomislil, »ta lekcija ne bo trajala dolgo.« V kakšni minuti sem si zapisal popoln recept za sladoled svojih sanj:

  1. Zajemite in položite tri kepice malinovega sladoleda v skledo
  2. Odprite čokoladno omako in dodajte dve žlici v isto skledo
  3. V skledo dodajte stepeno smetano
  4. Vse skupaj potresemo s sladkornimi palčkami in na vrh položimo češnjo

Moj učitelj – »računalnik« v tej ljubki metafori – je prikazal bolj sarkastično, dobesedno predstavo, kot sem jo kdaj videl. Začela je vneto zbadati po vedru sladoleda z zajemalko, ne da bi se sploh dotaknila pokrova.

"V redu, v redu, ampak najprej ga morate odpreti!" - sem vzkliknil in poskušal čim hitreje dobiti priboljšek.

»Tega nisi napisal v navodilih in sladoleda ti nisem mogel narediti. NASLEDNJI!"

Pojdimo naprej na poskus št. 2

  1. Malinov sladoled odpremo tako, da odstranimo pokrov
  2. Zajemite in položite tri kepice malinovega sladoleda v skledo
  3. Odprite čokoladno omako in dodajte dve žlici v isto skledo
  4. V skledo dodajte stepeno smetano
  5. Vse skupaj potresemo s sladkornimi palčkami in na vrh položimo češnjo

No, zdaj zagotovo ne bi smelo biti težav. Za vsak slučaj sem poskrbel, da so bile vse sestavine za pripravo moje kulinarične mojstrovine odprte.

Učiteljica je odstranila pokrov, zajela in dala v skledo tri kepice sladoleda. “Končno se je moj prelepi sladoled začel uresničevati!” Nato je odprla čokoladno omako in v skledo dodala dve žlici. Ni "dodala čokoladne omake iz dveh žlic" - ne mislite tako - žlice je seveda dala v skledo. Brez omake v njih. Spet se nisem potrudil, da bi vse natančno zapisal. Ko je ostalo v istem duhu opravljeno, sem prejela skledo sladoleda in dve žlici, komaj opazni pod morjem stepene smetane. Na vrhu je bil par sladkornih palčk.

Zdi se, da se mi je v tem trenutku končno posvetilo: računalnik je logika v vakuumu. Ne zaveda se okoliških okoliščin in ne dela predpostavk. Izvaja samo jasno oblikovana navodila in jih upošteva do besede.

Moj končni rezultat je bil rezultat dolgega, a potrebnega niza poskusov in napak:

  1. Če tega še niste storili, odprite vsako od naslednjih embalaž: malinov sladoled, čokoladni preliv, stepena smetana, sladkorne palčke.
  2. Vzemite skledo in jo postavite predse
  3. Vzemite žlico za sladoled in eno za drugo dajte tri kepice malinovega sladoleda v skledo. Vrnite žlico za sladoled na mesto.
  4. Vzemite kozarec čokoladnega preliva, zajemite omako in vsebino jušne žlice stresite v skledo. Postopek zajemanja in polivanja ponovite še enkrat. Žlico in kozarec postavite nazaj na svoje mesto.
  5. Paket stepene smetane vzemite narobe obrnjenega in ga držite nad skledo za 3 sekunde prelijte čez sladoled, nato pa paket vrnite na svoje mesto.
  6. Vzemite kozarec sladkornih palčk, stresite približno štirideset palčk v skledo in postavite kozarec nazaj.
  7. Iz sklede s češnjami vzamemo eno češnjo in jo položimo na vrh sladoleda.
  8. Učencu dajte skledo s končnim sladoledom in žlico.

Zadnja točka je bila še posebej pomembna, saj je brez nje učiteljica predzadnjič preprosto začela jesti moj sladoled.

Ampak to je programiranje. Stres ustvarjanja skrbnega nabora navodil za računalnik. V bistvu se vsak programski jezik zmanjša na to - pisanje navodil.

Kariera v programiranju

Programiranje je doseglo točko, ko je o njem težko razpravljati kot o eni sami panogi, tako kot je težko uporabiti eno besedo "programer" kot opis delovnega mesta. Dva razvijalca sta lahko na trgu enako zahtevna, saj znata popolnoma različna jezika, kar pomeni, da je sposobnost razvoja pomembnejša od znanja določenega jezika. Univerzalni atribut, ki si ga delijo vsi uspešni razvijalci, je temeljna logika.

Najboljši programer je tisti, ki zna kodo pogledati z novega zornega kota. In to je bistveno pomembno, saj je večina programskih izdelkov zbirka nedokumentiranih fragmentov slabe kode. Nenehno jih je treba združevati in po potrebi zapolniti vrzeli. Ljudje, ki ne morejo povezati različnih pik z eno črto, bodo morali za vedno ostati na stranskem tiru.

Vse to me pripelje do druge izjave, tokrat v krepkem tisku: temeljno znanje je bilo in bo za programerja najpomembnejše.

Jeziki pridejo in gredo. Ogrodja postajajo zastarela in podjetja se odzivajo na povpraševanje s spreminjanjem tehnološkega sklopa, ki ga uporabljajo. Ali obstaja ena stvar, ki se ne bo nikoli spremenila? Da - temeljno znanje, ki se imenuje temeljno, ker je osnova vsega!

Kako izboljšati temeljno znanje

En jezik, ki bo vladal vsemAvtor fotografije Christopher Jeschke Unsplash

Če iščete izhodišče za izboljšanje svojega temeljnega logičnega razmišljanja, poskusite začeti tukaj:

Spoznajte kompleksnost svojega programa

Imenuje se tudi Veliki O "kompleksnost algoritma" se nanaša na odvisnost časa, ki je potreben za izvajanje programa, od velikosti njegovih vhodnih podatkov (n). Pomemben korak je spremljanje utripa uporabljenih algoritmov.

Spoznajte svoje podatkovne strukture

Podatkovne strukture so v središču vsakega sodobnega programa. Vedeti, katero strukturo uporabiti v katerem primeru, je posebna disciplina. Podatkovne strukture so neposredno povezane s kompleksnostjo izvajalnega časa in izbira napačne strukture lahko privede do temeljnih težav z zmogljivostjo. Iskanje elementa v nizu je O (n), kar kaže na visoke stroške uporabe nizov kot vhodnih podatkov. Iskanje zgoščene tabele − O (1), kar pomeni, da v tem primeru čas iskanja vrednosti ni odvisen od števila elementov.

Ljudje so prišli k meni na razgovor in trdili, da je iskanje po matriki hitrejše kot iskanje po zgoščevalni tabeli. To je bil najzanesljivejši znak, da jih ne bi smeli najeti – poznajte svoje strukture podatkov.

Preberi / glej / poslušaj

Spletna mesta, kot so UdemyPluralsight и CodeAcademy - Odlična izbira za učenje novih programskih jezikov. Toda za osnove si oglejte knjige o splošnih načelih kodiranja, praksah in stilih. Najbolj priporočljive knjige so »Design Patterns«, »Refactoring. Izboljšanje obstoječe kode«, »Popolna koda«, »Čista koda« in »Pragmatični programer«. Končno bi moral vsak razvijalec hraniti kopijo "Algoritmi" pri roki.

Vadite!

Ne morete skuhati umešanih jajc, ne da bi jih razbili. Spletna mesta, kot so HackerRankCodeWarsCoderByte, TopCoder и LeetCode ponuja na tisoče zanimivih ugank, da preizkusite svoje znanje o podatkovnih strukturah in algoritmih. Poskusite svojo srečo pri reševanju težave, ki vam je všeč, objavite svojo rešitev na Githubu in nato poglejte, kako so se je lotili drugi. Kar nas pripelje do zadnje točke:

Preberi kodo drugih ljudi

Največja napaka, ki jo lahko naredite, ko greste po razvojni poti, je, da greste sami. Razvoj programske opreme je večinoma timsko delo. Skupaj ustvarjamo standarde, skupaj delamo napake in kljub vsem neuspehom skupaj postajamo boljši. Čas, porabljen za branje kode drugih ljudi, se bo bogato obrestoval. Prepričajte se, da je koda dobra.

No, najboljši nasvet, ki ga lahko dam, je, da se nikoli ne sramuj, da nečesa še ne veš. Kot že rečeno, je naša industrija ogromna in količina tehnologije neskončna. Potrebujete veliko časa in truda, da ustvarite celotno sliko, še več, da postanete profesionalec v nečem specifičnem, in še veliko več, da izpopolnite svoje veščine na svojem področju. Sporočim, ko to dosežem sam.

Vir: www.habr.com

Dodaj komentar