O singură limbă care să le conducă pe toate

Ascunsă sub un strat de cod, o limbă lâncește, tânjind să fie învățată.

O singură limbă care să le conducă pe toate

În momentul scrierii acestui articol, interogarea „programare care este limbajul de învățat mai întâi” returnează 517 milioane de rezultate de căutare. Fiecare dintre aceste site-uri va lăuda un anumit limbaj, iar 90% dintre ele vor sfârși prin a recomanda Python sau JavaScript.

Fără alte prelungiri, aș dori să menționez că toate aceste 517 milioane de site-uri web sunt greșite și că limba pe care ar trebui să o înveți mai întâi este logica fundamentala.

Nu este suficient să știi cum să codificăm. Piața este atât de saturată de absolvenți de institute și cursuri, încât postul de junior practic a încetat să mai existe*. Pentru a reuși în lumea de astăzi, trebuie să codificați și să aveți o gândire logică fundamentală avansată.

*în continuare, vă rugăm să rețineți că aceasta este o traducere, iar situația de pe piața muncii pentru autor și în țara dumneavoastră poate fi diferită (precum și alte nuanțe), ceea ce, totuși, în sine nu înrăutățește articolul original - aproximativ traducere

Prima mea lecție de informatică

Prima mea expunere la informatică a fost o opțiune pe care am luat-o în clasa a 10-a. Chiar în prima zi, intrând în clasă, am fost încântat să văd în fața mea un număr mare de găleți cu înghețată și diverse toppinguri. După ce toți s-au așezat, profesorul a anunțat:

„Astăzi vom degusta înghețate auto-preparate. Dar cu o condiție: trebuie să faci o listă cu instrucțiuni specifice despre cum să prepari desertul, iar eu le voi urma."

„Nici o problemă”, m-am gândit, „această lecție nu va dura mult.” În aproximativ un minut am notat rețeta perfectă pentru înghețata visurilor mele:

  1. Scoateți și puneți trei linguri de înghețată de zmeură într-un castron
  2. Deschideți sosul de ciocolată și adăugați două linguri în același bol
  3. Adăugați frișcă în bol
  4. Se presară totul cu bețișoare de zahăr și se pune deasupra o cireșă

Profesorul meu – „calculatorul” din acea metaforă drăguță – a oferit o performanță mai sarcastică, mai literală decât am văzut-o până acum. Ea a început să înfigă cu zel găleata cu înghețată cu o linguriță, fără să atingă măcar capacul.

„Bine, bine, dar mai întâi trebuie să-l deschizi!” - am exclamat, încercând să obțin tratarea cât mai repede posibil.

„Nu ai scris asta în instrucțiuni și nu am putut să-ți fac înghețată. URMĂTORUL!"

Să avansăm rapid pentru a încerca numărul 2

  1. Deschideți înghețata de zmeură scoțând capacul
  2. Scoateți și puneți trei linguri de înghețată de zmeură într-un castron
  3. Deschideți sosul de ciocolată și adăugați două linguri în același bol
  4. Adăugați frișcă în bol
  5. Se presară totul cu bețișoare de zahăr și se pune deasupra o cireșă

Ei bine, acum cu siguranță nu ar trebui să fie probleme. Pentru orice eventualitate, m-am asigurat că toate ingredientele pentru realizarea capodopera mea culinară sunt deschise.

Profesorul a scos capacul, a scos și a pus trei linguri de înghețată într-un bol. „În sfârșit, frumoasa mea înghețată a început să devină realitate!” Apoi a deschis sosul de ciocolată și a adăugat două linguri în bol. Ea nu a „adăugat sos de ciocolată din două linguri” - nu credeți - ea, desigur, a pus lingurile în bol. Fara sos in ele. Din nou, nu m-am obosit să notez totul exact. După ce restul s-a făcut în același spirit, am primit un bol cu ​​înghețată și două linguri, abia sesizabile sub marea de frișcă. Deasupra era o pereche de batoane de zahar.

Se pare că în acest moment mi-a dat seama în sfârșit: un computer este logica în vid. El nu este conștient de circumstanțele din jur și nu face presupuneri. El execută numai instrucțiuni clar formulate și le urmează cuvânt cu cuvânt.

Rezultatul meu final a fost rezultatul unei lungi, dar necesare serii de încercări și erori:

  1. Daca nu ai facut deja acest lucru, deschide fiecare dintre urmatoarele pachete: inghetata de zmeura, sos de ciocolata, frisca, batoane de zahar.
  2. Scoateți un bol și puneți-l în fața dvs
  3. Luați o lingură de înghețată și puneți trei linguri de înghețată de zmeură una câte una într-un bol. Puneți cupa de înghețată la loc.
  4. Luați un borcan cu sos de ciocolată, scoateți sosul și turnați conținutul unei linguri într-un bol. Repetați procesul de culegere și turnare încă o dată. Puneți lingura și borcanul la loc.
  5. Luați pachetul de frișcă cu capul în jos și ținându-l peste vas, turnați-l peste înghețată timp de 3 secunde, apoi puneți-l la loc.
  6. Luați un borcan cu bețișoare de zahăr, turnați aproximativ patruzeci de bețișoare într-un castron și puneți borcanul înapoi.
  7. Luați o cireșă din bolul cu cireșe și puneți-o deasupra înghețatei.
  8. Oferiți elevului un castron cu înghețata terminată și o lingură.

Ultimul punct a fost deosebit de important, pentru că fără el, penultima oară când profesorul a început pur și simplu să-mi mănânce înghețata.

Dar asta este programare. Stresul creării unui set atent de instrucțiuni pentru un computer. În esență, la asta se rezumă fiecare limbaj de programare - scrierea instrucțiunilor.

Cariera in programare

Programarea a ajuns la punctul în care este dificil să discutăm ca o singură industrie, la fel cum este dificil să folosiți un singur cuvânt „programator” ca descriere a postului. Doi dezvoltatori pot fi la fel de solicitați de piață, cunoscând limbi complet diferite, ceea ce înseamnă că abilitatea de a dezvolta este mai importantă decât cunoașterea unui anumit limbaj. Un atribut universal împărtășit de toți dezvoltatorii de succes este logica fundamentala.

Cel mai bun programator este cel care este capabil să privească codul dintr-un unghi nou. Și acest lucru este fundamental, deoarece majoritatea produselor software sunt o colecție de fragmente nedocumentate de cod prost. Ele trebuie să fie reunite în mod constant, umplând golurile după cum este necesar. Oamenii care nu pot conecta puncte disparate cu o singură linie vor trebui să rămână mereu pe margine.

Toate acestea mă duc la o altă declarație, de data aceasta cu caractere aldine: cunoștințele fundamentale au fost întotdeauna și vor fi primordiale pentru un programator.

Limbile vin și pleacă. Cadrele devin învechite, iar companiile răspund cererii schimbând tehnologia pe care o folosesc. Există un lucru care nu se va schimba niciodată? Da - cunoștințe fundamentale, care se numesc fundamentale pentru că stau la baza totul!

Cum să îmbunătățiți cunoștințele fundamentale

O singură limbă care să le conducă pe toateFotografie de Christopher Jeschke pe Unsplash

Dacă sunteți în căutarea unui punct de plecare pentru a vă îmbunătăți gândirea logică fundamentală, încercați să începeți de aici:

Cunoașteți complexitatea programului dvs

Numit si O mare „complexitatea algoritmului” se referă la dependența timpului necesar pentru a executa un program de dimensiunea datelor de intrare. (N). Menținerea degetului pe pulsul algoritmilor utilizați este un pas important.

Cunoaște-ți structurile de date

Structurile de date sunt în centrul oricărui program modern. A ști ce structură să folosești în ce caz este o disciplină în sine. Structurile de date sunt direct legate de complexitatea timpului de execuție, iar alegerea unei structuri greșite poate duce la probleme fundamentale de performanță. Găsirea unui element într-o matrice este O (n), care indică costul ridicat al utilizării matricelor ca date de intrare. Căutare tabel hash − O (1), ceea ce înseamnă că în acest caz timpul de căutare a unei valori nu depinde de numărul de elemente.

Oamenii au venit la mine pentru un interviu și au susținut că căutarea printr-o matrice a fost mai rapidă decât căutarea printr-un tabel hash. Acesta a fost cel mai sigur semn că nu ar trebui să-i angajezi - cunoaște-ți structurile de date.

Citește / urmărește / ascultă

Site-uri ca UdemyPluralsight и CodeAcademy - O alegere excelentă pentru a învăța noi limbaje de programare. Dar pentru elementele de bază, consultați cărți despre principiile generale, practicile și stilurile de codare. Cele mai recomandate cărți sunt „Design Patterns”, „Refactoring”. Îmbunătățirea codului existent”, „Cod perfect”, „Cod curat” și „Programator pragmatist”. În cele din urmă, fiecare dezvoltator ar trebui să păstreze o copie a "Algoritmi" la mana.

Practică!

Nu poți găti ouă omletă fără a sparge ouăle. Site-uri ca HackerRankCodeWarsCoderByte, TopCoder и LeetCode oferă mii de puzzle-uri interesante pentru a-ți testa cunoștințele despre structurile de date și algoritmi. Încearcă-ți norocul să rezolvi o problemă care îți place, postează soluția ta pe Github și apoi vezi cum au abordat-o alții. Ceea ce ne duce la ultimul punct:

Citiți codul altor persoane

Cea mai mare greșeală pe care o poți face atunci când mergi pe calea dezvoltării este să o faci singur. Dezvoltarea software este în mare parte un efort de echipă. Creăm standarde împreună, facem greșeli împreună și, în ciuda tuturor eșecurilor, devenim mai buni împreună. Timpul petrecut citind codul altor persoane va fi profitabil. Doar asigurați-vă că este un cod bun.

Ei bine, cel mai bun sfat pe care îl pot da este să nu-ți fie niciodată rușine că nu știi încă ceva. După cum sa spus deja, industria noastră este uriașă și cantitatea de tehnologie este nesfârșită. Este nevoie de mult timp și efort pentru a construi o imagine de ansamblu, chiar mai mult pentru a deveni un profesionist în ceva anume și un ordin de mărime mai mult pentru a-ți perfecționa abilitățile în domeniul tău. Vă voi anunța când voi realiza asta.

Sursa: www.habr.com

Adauga un comentariu