Viena kalba valdyti juos visus

Po kodo sluoksniu paslėpta kalba nyksta, trokšta būti išmokta.

Viena kalba valdyti juos visus

Šio rašymo metu užklausa „programuoti, kurią kalbą išmokti pirmiausia“ pateikia 517 mln. paieškos rezultatų. Kiekviena iš šių svetainių pagirs vieną konkrečią kalbą, o 90% jų rekomenduos Python arba JavaScript.

Nesivaržydamas norėčiau tęsti įrašą, sakydamas, kad visos šios 517 milijonų svetainių yra klaidingos ir kad kalba, kurią turėtumėte išmokti pirmiausia, yra pagrindinė logika.

Vien mokėti koduoti neužtenka. Rinka taip prisotinta institutų ir kursų absolventų, kad jaunesniųjų pareigų praktiškai nebeliko*. Norėdami pasiekti sėkmės šiuolaikiniame pasaulyje, turite koduoti ir turėti pažangų pagrindinį loginį mąstymą.

*toliau atminkite, kad tai yra vertimas, o situacija darbo rinkoje autoriui ir jūsų šalyje gali skirtis (taip pat ir kitų niuansų), tačiau tai savaime nepablogina originalaus straipsnio - apytiksliai vertimas

Mano pirmoji informatikos pamoka

Mano pirmasis susipažinimas su kompiuterių mokslu buvo pasirenkamasis dalykas, kurį išklausiau 10 klasėje. Jau pirmą dieną, įžengęs į klasę, apsidžiaugiau prieš save išvydęs daugybę kibirų ledų ir įvairių priedų. Visiems susėdus, mokytojas pranešė:

„Šiandien ragausime pačių ruoštų ledų. Bet su viena sąlyga: turite sudaryti konkrečių nurodymų, kaip paruošti desertą, sąrašą, ir aš jų laikysiuosi.

„Jokių problemų, – pagalvojau, – ši pamoka nebus ilga. Maždaug per minutę užsirašiau tobulą savo svajonių ledų receptą:

  1. Išgriebkite ir į dubenį įdėkite tris kaušelius aviečių ledų
  2. Atidarykite šokoladinį padažą ir į tą patį dubenį įpilkite du šaukštus
  3. Į dubenį įpilkite plaktos grietinėlės
  4. Viską apibarstykite cukraus lazdelėmis ir ant viršaus uždėkite vyšnią

Mano mokytojas – „kompiuteris“ ta miela metafora – surengė sarkastiškesnį, pažodinį spektaklį, nei aš kada nors anksčiau mačiau. Ji pradėjo uoliai kišti ledų kibirą kaušeliu, net neliesdama dangčio.

"Gerai, gerai, bet pirmiausia turite jį atidaryti!" - sušukau bandydama kuo greičiau gauti skanėstą.

„Jūs to neparašėte instrukcijose, ir aš negalėjau jums pagaminti ledų. KITAS!"

Greitai pereikime prie 2 bandymo

  1. Aviečių ledus atidarykite nuimdami dangtelį
  2. Išgriebkite ir į dubenį įdėkite tris kaušelius aviečių ledų
  3. Atidarykite šokoladinį padažą ir į tą patį dubenį įpilkite du šaukštus
  4. Į dubenį įpilkite plaktos grietinėlės
  5. Viską apibarstykite cukraus lazdelėmis ir ant viršaus uždėkite vyšnią

Na, dabar problemų tikrai neturėtų kilti. Tik tuo atveju įsitikinau, kad visi mano kulinarinio šedevro gaminimo ingredientai yra atviri.

Mokytojas nuėmė dangtį, išgriebė ir į dubenį įdėjo tris kaušelius ledų. „Pagaliau mano gražūs ledai pradėjo pildytis! Tada ji atidarė šokoladinį padažą ir į dubenį įdėjo du šaukštus. Ji „nepripylė šokoladinio padažo iš dviejų šaukštų“ – nemanykite – ji, žinoma, į dubenį įdėjo pačius šaukštus. Jokio padažo juose. Vėlgi, nesivarginau visko tiksliai surašyti. Po to, kai visa kita buvo atlikta ta pačia dvasia, gavau dubenį ledų ir du šaukštus, vos pastebimus po plaktos grietinėlės jūra. Viršuje buvo pora cukraus lazdelių.

Atrodo, kad šią akimirką man pagaliau išaušo: kompiuteris yra logika vakuume. Jis nežino aplinkinių aplinkybių ir nedaro jokių prielaidų. Jis vykdo tik aiškiai suformuluotas instrukcijas ir jų laikosi žodis į žodį.

Mano galutinis rezultatas buvo ilgos, bet būtinos bandymų ir klaidų serijos rezultatas:

  1. Jei to dar nepadarėte, atidarykite kiekvieną iš šių pakuočių: aviečių ledai, šokoladinis padažas, plakta grietinėlė, cukraus lazdelės.
  2. Išimkite dubenį ir padėkite jį priešais save
  3. Paimkite ledų kaušelį ir po vieną į dubenį įdėkite tris kaušelius aviečių ledų. Įdėkite ledų kaušelį atgal į vietą.
  4. Paimkite indelį šokoladinio padažo, išgriebkite padažą ir šaukšto turinį supilkite į dubenį. Pakartokite kasimo ir išpylimo procesą dar kartą. Įdėkite šaukštą ir stiklainį atgal į vietą.
  5. Paimkite plaktos grietinėlės pakuotę aukštyn kojomis ir, laikydami virš dubens, 3 sekundes užpilkite ant ledų, tada grąžinkite pakuotę į vietą.
  6. Paimkite indelį cukraus lazdelių, supilkite į dubenį apie keturiasdešimt lazdelių ir padėkite stiklainį atgal.
  7. Paimkite vieną vyšnią iš vyšnių dubenėlio ir padėkite ant ledų.
  8. Duokite mokiniui dubenį su paruoštais ledais ir šaukštą.

Paskutinis punktas buvo ypač svarbus, nes be jo priešpaskutinį kartą mokytojas tiesiog pradėjo valgyti mano ledus.

Bet tai yra programavimas. Stresas kuriant kruopštų kompiuterio instrukcijų rinkinį. Iš esmės tai yra kiekvieno programavimo kalba – instrukcijų rašymas.

Karjera programavimo srityje

Programavimas pasiekė tašką, kai sunku aptarti kaip vieną pramonės šaką, kaip sunku naudoti vieną žodį „programuotojas“ kaip darbo aprašymą. Du kūrėjai gali būti vienodai paklausūs rinkoje, mokantys visiškai skirtingas kalbas, o tai reiškia, kad gebėjimas tobulėti yra svarbiau nei konkrečios kalbos mokėjimas. Universalus atributas, kuriuo dalijasi visi sėkmingi kūrėjai pagrindinė logika.

Geriausias programuotojas yra tas, kuris sugeba į kodą pažvelgti nauju kampu. Ir tai iš esmės svarbu, nes dauguma programinės įrangos produktų yra nedokumentuotų blogo kodo fragmentų rinkinys. Juos nuolat reikia sujungti, prireikus užpildant spragas. Žmonės, kurie nesugeba sujungti skirtingų taškų viena linija, turės amžinai būti nuošalyje.

Visa tai priveda prie kitos deklaracijos, šį kartą paryškintu: pagrindinės žinios programuotojui visada buvo ir bus svarbiausios.

Kalbos ateina ir išeina. Sistemos pasensta, o įmonės reaguoja į paklausą keisdamos naudojamą technologijų paketą. Ar yra vienas dalykas, kuris niekada nepasikeis? Taip – ​​fundamentinės žinios, kurios vadinamos fundamentaliomis, nes yra visko pagrindas!

Kaip tobulinti pagrindines žinias

Viena kalba valdyti juos visusChristopherio nuotrauka Jeschke apie Unsplash

Jei ieškote atspirties taško, kad pagerintumėte savo pagrindinį loginį mąstymą, pabandykite pradėti čia:

Žinokite savo programos sudėtingumą

Taip pat vadinama Didelis O „Algoritmo sudėtingumas“ reiškia laiko, kurio reikia programai vykdyti, priklausomybę nuo jos įvesties duomenų dydžio n). Svarbus žingsnis yra stebėti naudojamus algoritmus.

Žinokite savo duomenų struktūras

Duomenų struktūros yra kiekvienos šiuolaikinės programos pagrindas. Žinojimas, kurią struktūrą kokiu atveju naudoti, yra atskira disciplina. Duomenų struktūros yra tiesiogiai susijusios su vykdymo sudėtingumu, o pasirinkus netinkamą struktūrą gali kilti esminių našumo problemų. Rasti elementą masyve yra O (n), o tai rodo didelę masyvų naudojimo kaip įvesties duomenų kainą. Maišos lentelės paieška − O (1), o tai reiškia, kad šiuo atveju reikšmės paieškos laikas nepriklauso nuo elementų skaičiaus.

Žmonės atėjo pas mane interviu ir tvirtino, kad paieška masyve buvo greitesnė nei maišos lentelėje. Tai buvo patikimiausias ženklas, kad neturėtumėte jų samdyti – žinokite savo duomenų struktūras.

Skaityti / žiūrėti / klausytis

Svetainės kaip UdemyPluralsight и „CodeAcademy“ - Puikus pasirinkimas mokantis naujų programavimo kalbų. Tačiau norėdami sužinoti pagrindų, skaitykite knygas apie bendruosius kodavimo principus, praktiką ir stilius. Labiausiai rekomenduojamos knygos „Dizaino raštai“, „Refaktoringas. Esamo kodo tobulinimas“, „Tobulas kodas“, „Švarus kodas“ ir „Pragmatikas programuotojas“. Galiausiai kiekvienas kūrėjas turėtų pasilikti kopijąAlgoritmai" rankoje.

Praktika!

Negalite virti kiaušinienės nesudaužę kiaušinių. Svetainės kaip „HackerRank“„CodeWars“„CoderByte“, „TopCoder“ и „LeetCode“ pasiūlykite tūkstančius įdomių galvosūkių, kad patikrintumėte savo žinias apie duomenų struktūras ir algoritmus. Išbandykite savo sėkmę spręsdami jums patinkančią problemą, paskelbkite sprendimą „Github“ ir pažiūrėkite, kaip prie jo priėjo kiti. Tai atveda mus prie paskutinio taško:

Perskaitykite kitų žmonių kodą

Didžiausia klaida, kurią galite padaryti eidami vystymosi keliu, yra tai eiti vienam. Programinės įrangos kūrimas daugiausia yra komandos darbas. Kartu kuriame standartus, kartu klystame ir, nepaisant visų nesėkmių, kartu tampame geresni. Laikas, praleistas skaitant kitų žmonių kodą, atsipirks su kaupu. Tiesiog įsitikinkite, kad tai geras kodas.

Na, geriausias patarimas, kurį galiu duoti, yra niekada nesigėdyti, kad dar kažko nežinai. Kaip jau buvo sakyta, mūsų pramonė yra didžiulė, o technologijų – begalė. Norint sukurti bendrą vaizdą, reikia daug laiko ir pastangų, norint tapti kažko konkretaus profesionalu ir dar daugiau, kad patobulintumėte savo įgūdžius savo srityje. Pranešiu, kai pats tai pasieksiu.

Šaltinis: www.habr.com

Добавить комментарий