Jedan jezik koji će vladati svima njima

Skriven ispod sloja koda, jezik čami žudeći da se nauči.

Jedan jezik koji će vladati svima njima

Od pisanja ovog teksta, upit "programiranje jezika koji prvo naučiti" daje 517 milijuna rezultata pretraživanja. Svaka od ovih stranica hvalit će jedan određeni jezik, a 90% njih na kraju će preporučiti Python ili JavaScript.

Bez daljnjeg odlaganja, želio bih javno reći da je svih ovih 517 milijuna web stranica pogrešnih i da je jezik koji biste trebali naučiti prvi temeljna logika.

Samo znati kako kodirati nije dovoljno. Tržište je toliko zasićeno diplomantima instituta i tečajeva da je juniorska pozicija praktički prestala postojati*. Da biste uspjeli u današnjem svijetu, morate kodirati i imati napredno temeljno logičko razmišljanje.

*u daljnjem tekstu imajte na umu da je ovo prijevod, a situacija na tržištu rada za autora iu vašoj zemlji može biti drugačija (kao i druge nijanse), što, međutim, samo po sebi ne čini izvorni članak lošijim - cca. prijevod

Moj prvi sat informatike

Moj prvi kontakt s informatikom bio je izborni predmet koji sam pohađao u 10. razredu. Već prvi dan, ulazeći u učionicu, razveselio sam se ugledavši ispred sebe veliki broj kantica sladoleda i raznih preljeva. Nakon što su svi sjeli, učiteljica je rekla:

“Danas ćemo kušati sladolede koje sami pripremamo. Ali uz jedan uvjet: morate napraviti popis konkretnih uputa o tome kako pripremiti desert, a ja ću ih slijediti."

"Nema problema", pomislio sam, "ova lekcija neće dugo trajati." U roku od jedne minute zabilježila sam savršeni recept za sladoled svojih snova:

  1. Zagrabite i stavite tri kuglice sladoleda od malina u zdjelu
  2. Otvorite čokoladni preljev i dodajte dvije žlice u istu posudu
  3. Dodajte šlag u zdjelu
  4. Sve to pospite štapićima šećera i na vrh stavite trešnju

Moj učitelj - "računalo" u toj simpatičnoj metafori - izveo je sarkastičniji, doslovniji nastup nego što sam ikada prije vidio. Počela je revno bodati kantu za sladoled žlicom, a da nije ni dotaknula poklopac.

“Dobro, dobro, ali prvo ga morate otvoriti!” - uzviknula sam trudeći se što brže dobiti poslasticu.

“Nisi ovo napisao u uputama, a ja ti nisam mogla napraviti sladoled. SLJEDEĆI!"

Premotajmo unaprijed do pokušaja #2

  1. Sladoled od malina otvorite tako da skinete poklopac
  2. Zagrabite i stavite tri kuglice sladoleda od malina u zdjelu
  3. Otvorite čokoladni preljev i dodajte dvije žlice u istu posudu
  4. Dodajte šlag u zdjelu
  5. Sve to pospite štapićima šećera i na vrh stavite trešnju

Pa, sada definitivno ne bi trebalo biti nikakvih problema. Za svaki slučaj sam se pobrinuo da svi sastojci za izradu mog kulinarskog remek djela budu otvoreni.

Učitelj je maknuo poklopac, zagrabio i stavio tri kugle sladoleda u zdjelicu. “Konačno se moj prekrasni sladoled počeo ostvarivati!” Zatim je otvorila čokoladni umak i dodala dvije žlice u zdjelicu. Nije "dodala čokoladni umak od dvije žlice" - nemojte tako misliti - ona je, naravno, stavila same žlice u zdjelu. Nema umaka u njima. Opet, nisam se potrudio sve točno napisati. Nakon što je ostalo odrađeno u istom duhu, stigla mi je zdjelica sladoleda i dvije žlice, jedva primjetne ispod mora šlaga. Na vrhu je bio par štapića šećera.

Čini mi se da mi je u ovom trenutku konačno sinulo: računalo je logika u vakuumu. On nije svjestan okolnih okolnosti i ne stvara nikakve pretpostavke. Izvršava samo jasno formulirane upute i slijedi ih od riječi do riječi.

Moj konačni rezultat bio je rezultat dugog, ali nužnog niza pokušaja i pogrešaka:

  1. Ako to već niste učinili, otvorite svako od sljedećih pakiranja: sladoled od malina, čokoladni preljev, šlag, šećerni štapići.
  2. Izvadite zdjelu i stavite je ispred sebe
  3. Uzmite žlicu za sladoled i stavite tri kuglice sladoleda od malina jednu po jednu u zdjelicu. Vratite žlicu za sladoled na mjesto.
  4. Uzmite staklenku čokoladnog umaka, zagrabite umak i izlijte sadržaj jedne žlice u zdjelicu. Ponovite postupak vađenja i izlijevanja još jednom. Vratite žlicu i staklenku na mjesto.
  5. Uzmite pakiranje šlaga naopako i držeći ga iznad zdjele prelijte preko sladoleda 3 sekunde, a zatim vratite paket na mjesto.
  6. Uzmite staklenku šećernih štapića, ulijte četrdesetak štapića u zdjelu i vratite staklenku.
  7. Iz zdjele s trešnjama izvadite jednu trešnju i stavite je na vrh sladoleda.
  8. Dajte učeniku zdjelicu s gotovim sladoledom i žlicu.

Zadnja točka je bila posebno važna, jer je bez nje učiteljica pretposljednji put jednostavno počela jesti moj sladoled.

Ali ovo je programiranje. Stres stvaranja pažljivog skupa uputa za računalo. U biti, to je ono na što se svaki programski jezik svodi - pisanje instrukcija.

Karijera u programiranju

Programiranje je doseglo točku kada je teško govoriti o njemu kao o jednoj industriji, kao što je teško koristiti jednu riječ "programer" kao opis posla. Dva programera mogu biti jednako tražena na tržištu, poznavajući potpuno različite jezike, što znači da je sposobnost razvoja važnija od znanja određenog jezika. Univerzalni atribut koji dijele svi uspješni programeri je temeljna logika.

Najbolji programer je onaj koji je u stanju sagledati kod iz novog kuta. A to je temeljno važno, jer je većina softverskih proizvoda zbirka nedokumentiranih fragmenata lošeg koda. Stalno ih je potrebno okupljati, popunjavajući praznine prema potrebi. Ljudi koji ne mogu spojiti različite točke jednom linijom morat će zauvijek biti po strani.

Sve me ovo dovodi do još jedne izjave, ovaj put podebljane: temeljno znanje uvijek je bilo i bit će najvažnije za programera.

Jezici dolaze i odlaze. Okviri postaju zastarjeli, a tvrtke odgovaraju na potražnju mijenjanjem niza tehnologija koje koriste. Postoji li jedna stvar koja se nikada neće promijeniti? Da - fundamentalno znanje, koje se zove fundamentalno jer je u osnovi svega!

Kako poboljšati temeljno znanje

Jedan jezik koji će vladati svima njimaFotografija Christophera Jeschke na Unsplash

Ako tražite početnu točku za poboljšanje svog temeljnog logičkog razmišljanja, pokušajte započeti ovdje:

Znajte složenost svog programa

Također se zove Veliki O "složenost algoritma" odnosi se na ovisnost vremena potrebnog za izvođenje programa o veličini njegovih ulaznih podataka (N). Držanje prsta na pulsu algoritama koji se koriste važan je korak.

Upoznajte svoje strukture podataka

Strukture podataka su srce svakog modernog programa. Znati koju strukturu upotrijebiti u kojem slučaju posebna je disciplina. Strukture podataka izravno su povezane sa složenošću vremena izvođenja, a odabir pogrešne strukture može dovesti do temeljnih problema s izvedbom. Pronalaženje elementa u nizu je O (n), što ukazuje na visoku cijenu korištenja nizova kao ulaznih podataka. Pretraživanje hash tablice − O (1), što znači da u ovom slučaju vrijeme traženja vrijednosti ne ovisi o broju elemenata.

Ljudi su mi dolazili na razgovor i tvrdili da je pretraživanje niza brže od pretraživanja hash tablice. Ovo je bio najsigurniji znak da ih ne biste trebali angažirati - upoznajte svoje strukture podataka.

Čitaj/gledaj/slušaj

Stranice poput UdemyPluralizam и CodeAcademy - Odličan izbor za učenje novih programskih jezika. Ali za osnove, konzultirajte knjige o općim načelima, praksama i stilovima kodiranja. Knjige koje se najviše preporučuju su “Design Patterns”, “Refactoring. Poboljšanje postojećeg koda", "Savršeni kod", "Čist kod" i "Pragmatični programer". Konačno, svaki razvojni programer trebao bi zadržati kopiju "Algoritmi" pri ruci.

Praksa!

Ne možete skuhati kajganu, a da ne razbijete jaja. Stranice poput HackerRankCodeWarsCoderByte, TopCoder и Leteno kod nudi tisuće zanimljivih zagonetki za testiranje vašeg znanja o strukturama podataka i algoritmima. Okušajte svoju sreću u rješavanju problema koji vam se sviđa, objavite svoje rješenje na Githubu, a zatim pogledajte kako su mu drugi pristupili. Što nas dovodi do posljednje točke:

Čitajte kod drugih ljudi

Najveća pogreška koju možete napraviti kada idete razvojnim putem je da idete sami. Razvoj softvera uglavnom je timski rad. Zajedno stvaramo standarde, zajedno griješimo i, unatoč svim neuspjesima, zajedno postajemo bolji. Vrijeme potrošeno na čitanje koda drugih ljudi dobro će vam se isplatiti. Samo provjerite je li kod dobar.

Pa, najbolji savjet koji mogu dati je da se nikad ne sramite što još nešto ne znate. Kao što je već rečeno, naša industrija je ogromna, a količina tehnologije beskonačna. Potrebno je puno vremena i truda da se izgradi cjelokupna slika, još više da postanete profesionalac u nečemu konkretnom, i red veličine više da usavršite svoje vještine u svom području. Javit ću vam kada to sam postignem.

Izvor: www.habr.com

Dodajte komentar