Një gjuhë për t'i sunduar të gjithë

E fshehur nën një shtresë kodi, një gjuhë lëngon, me dëshirë të madhe për t'u mësuar.

Një gjuhë për t'i sunduar të gjithë

Që nga momenti i shkrimit të këtij shkrimi, pyetja "programimi i gjuhës për të mësuar së pari" kthen 517 milionë rezultate kërkimi. Secila prej këtyre faqeve do të lavdërojë një gjuhë specifike dhe 90% e tyre do të përfundojnë duke rekomanduar Python ose JavaScript.

Pa u zgjatur më tej, unë do të doja të vazhdoj duke thënë se të gjitha këto 517 milionë faqe interneti janë të gabuara dhe se gjuha që duhet të mësoni së pari është logjika themelore.

Nuk mjafton vetëm të dish të kodosh. Tregu është aq i ngopur me të diplomuar institute dhe kurse, saqë pozicioni i vogël praktikisht ka pushuar së ekzistuari*. Për të pasur sukses në botën e sotme, duhet të kodoni dhe të keni të menduarit logjik themelor të avancuar.

*në tekstin e mëtejmë, ju lutemi mbani mend se ky është një përkthim, dhe situata e tregut të punës për autorin dhe në vendin tuaj mund të jetë e ndryshme (si dhe nuanca të tjera), gjë që, megjithatë, në vetvete nuk e përkeqëson artikullin origjinal - përafërsisht. përkthimi

Mësimi im i parë i shkencave kompjuterike

Ekspozimi im i parë ndaj shkencave kompjuterike ishte një lëndë me zgjedhje që e mora në klasën e 10-të. Në ditën e parë, duke hyrë në klasë, u kënaqa kur pashë para meje një numër të madh kova me akullore dhe mbushje të ndryshme. Pasi të gjithë u ulën, mësuesi njoftoi:

“Sot do të shijojmë akullore të përgatitura vetë. Por me një kusht: duhet të bëni një listë me udhëzime specifike se si të përgatisni ëmbëlsirën dhe unë do t'i ndjek".

"Nuk ka problem," mendova, "ky mësim nuk do të zgjasë." Brenda një minutë apo më shumë kisha shënuar recetën e përsosur për akulloren e ëndrrave të mia:

  1. Hidhni dhe vendosni tre lugë akullore me mjedër në një tas
  2. Hapni salcën e çokollatës dhe shtoni dy lugë gjelle në të njëjtin tas
  3. Shtoni krem ​​pana në tas
  4. I spërkasim të gjitha me shkopinj sheqeri dhe sipër i vendosim një qershi

Mësuesi im - "kompjuteri" në atë metaforë të lezetshme - dha një performancë më sarkastike, fjalë për fjalë se sa kisha parë ndonjëherë më parë. Ajo filloi të fuste me zell kovën e akullores me një lugë pa e prekur as kapakun.

"Mirë, mirë, por së pari duhet ta hapësh!" - Bërtita unë, duke u përpjekur të marr trajtimin sa më shpejt të jetë e mundur.

“Ti nuk e ke shkruar këtë në udhëzime dhe unë nuk mund të bëja akullore. TJETËR!"

Le të ecim përpara për të tentuar #2

  1. Hapni akulloren me mjedër duke hequr kapakun
  2. Hidhni dhe vendosni tre lugë akullore me mjedër në një tas
  3. Hapni salcën e çokollatës dhe shtoni dy lugë gjelle në të njëjtin tas
  4. Shtoni krem ​​pana në tas
  5. E spërkasim të gjitha me shkopinj sheqeri dhe sipër vendosim një qershi

Epo, tani definitivisht nuk duhet të ketë probleme. Për çdo rast, u sigurova që të gjithë përbërësit për të bërë kryeveprën time të kuzhinës ishin të hapura.

Mësuesja hoqi kapakun, mori dhe vendosi tre lugë akullore në një tas. “Më në fund, akullorja ime e bukur ka filluar të bëhet realitet!” Më pas ajo hapi salcën e çokollatës dhe shtoi dy lugë gjelle në tas. Ajo nuk "shtoi salcë çokollate nga dy lugë" - mos mendo kështu - ajo, natyrisht, i vendosi vetë lugët në tas. Nuk ka salcë në to. Përsëri, nuk u mërzita të shkruaj gjithçka saktësisht. Pasi pjesa tjetër u bë në të njëjtin frymë, mora një tas me akullore dhe dy lugë gjelle, mezi të dukshme nën detin e kremës së rrahur. Sipër kishte një palë shkopinj sheqeri.

Duket se në këtë moment më në fund më kuptoi: një kompjuter është logjikë në vakum. Ai nuk është në dijeni të rrethanave përreth dhe nuk bën supozime. Ai zbaton vetëm udhëzime të formuluara qartë dhe i ndjek ato fjalë për fjalë.

Rezultati im përfundimtar ishte rezultat i një serie të gjatë, por të nevojshme provash dhe gabimesh:

  1. Nëse nuk e keni bërë tashmë, hapni secilën nga paketimet e mëposhtme: akullore me mjedër, salcë çokollate, krem ​​pana, shkopinj sheqeri.
  2. Nxirrni një tas dhe vendoseni para jush
  3. Merrni një lugë akullore dhe vendosni tre lugë akullore me mjedër një nga një në një tas. Vendoseni përsëri lugën e akullores në vend.
  4. Merrni një kavanoz me salcë çokollate, hiqni salcën dhe hidhni përmbajtjen e një luge gjelle në një tas. Përsëriteni procesin e hedhjes dhe derdhjes edhe një herë. Rivendosni lugën dhe kavanozin në vend.
  5. Merreni paketimin me krem ​​pana me kokë poshtë dhe duke e mbajtur mbi tas e hidhni sipër akullores për 3 sekonda dhe më pas kthejeni paketimin në vendin e saj.
  6. Merrni një kavanoz me shkopinj sheqeri, derdhni rreth dyzet shkopinj në një tas dhe vendoseni kavanozin përsëri.
  7. Merrni një qershi nga tasi me qershi dhe vendoseni sipër akullores.
  8. Jepini nxënësit një tas me akulloren e përfunduar dhe një lugë.

Pika e fundit ishte veçanërisht e rëndësishme, sepse pa të, herën e parafundit mësuesi thjesht filloi të hante akulloren time.

Por ky është programim. Stresi i krijimit të një grupi të kujdesshëm udhëzimesh për një kompjuter. Në thelb, kjo është ajo që çdo gjuhë programimi zbret - shkrimi i udhëzimeve.

Karriera në programim

Programimi ka arritur në pikën ku është e vështirë të diskutohet si një industri e vetme, ashtu siç është e vështirë të përdoret fjala e vetme "programues" si përshkrim i punës. Dy zhvillues mund të jenë njëlloj të kërkuar nga tregu, duke ditur gjuhë krejtësisht të ndryshme, që do të thotë se aftësia për të zhvilluar është më e rëndësishme se njohja e një gjuhe specifike. Një atribut universal i përbashkët nga të gjithë zhvilluesit e suksesshëm është logjika themelore.

Programuesi më i mirë është ai që është në gjendje të shikojë kodin nga një kënd i ri. Dhe kjo është thelbësisht e rëndësishme, sepse shumica e produkteve softuerike janë një koleksion i fragmenteve të padokumentuara të kodit të keq. Ato vazhdimisht duhet të bashkohen, duke plotësuar boshllëqet sipas nevojës. Njerëzit të cilët nuk janë në gjendje të lidhin pika të ndryshme me një linjë të vetme, do të duhet të jenë përgjithmonë mënjanë.

E gjithë kjo më sjell në një deklaratë tjetër, këtë herë me shkronja të zeza: njohuritë themelore kanë qenë gjithmonë dhe do të jenë parësore për një programues.

Gjuhët vijnë e shkojnë. Kornizat po bëhen të vjetëruara dhe kompanitë po i përgjigjen kërkesës duke ndryshuar grupin e teknologjisë që përdorin. A ka një gjë që nuk do të ndryshojë kurrë? Po - njohuri themelore, e cila quhet themelore sepse qëndron në themel të gjithçkaje!

Si të përmirësoni njohuritë themelore

Një gjuhë për t'i sunduar të gjithëFoto nga Christopher Jeschke mbi Unsplash

Nëse jeni duke kërkuar për një pikënisje për të përmirësuar të menduarit tuaj themelor logjik, provoni të filloni këtu:

Njihni kompleksitetin e programit tuaj

Gjithashtu i quajtur O i madh "Kompleksiteti i algoritmit" i referohet varësisë së kohës që duhet për të ekzekutuar një program nga madhësia e të dhënave të tij hyrëse. (N). Mbajtja e gishtit në pulsin e algoritmeve që përdoren është një hap i rëndësishëm.

Njihni strukturat tuaja të të dhënave

Strukturat e të dhënave janë në qendër të çdo programi modern. Të dish se cilën strukturë të përdorësh në cilin rast është një disiplinë më vete. Strukturat e të dhënave lidhen drejtpërdrejt me kompleksitetin e kohës së funksionimit dhe zgjedhja e strukturës së gabuar mund të çojë në probleme themelore të performancës. Gjetja e një elementi në një grup është O (n), që tregon koston e lartë të përdorimit të vargjeve si të dhëna hyrëse. Kërkimi i tabelës hash − O (1), që do të thotë se në këtë rast koha për të kërkuar një vlerë nuk varet nga numri i elementeve.

Njerëzit erdhën tek unë për një intervistë dhe pohuan se kërkimi përmes një grupi ishte më i shpejtë se kërkimi përmes një tabele hash. Kjo ishte shenja më e sigurt se ju nuk duhet t'i punësoni ata - njihni strukturat tuaja të të dhënave.

Lexoni / shikoni / dëgjoni

Faqe si UdemyPluralsight и KodiAkademia - Një zgjedhje e shkëlqyer për të mësuar gjuhë të reja programimi. Por për bazat, konsultohuni me libra mbi parimet, praktikat dhe stilet e përgjithshme të kodimit. Librat më të rekomanduar janë "Modelet e projektimit", "Rifaktorimi. Përmirësimi i kodit ekzistues, "Kodi i përsosur", "Kodi i pastër" dhe "Programuesi pragmatist". Së fundi, çdo zhvillues duhet të mbajë një kopje të "Algoritmet" në dorë.

Praktikoni!

Nuk mund të gatuani vezë të fërguara pa i thyer vezët. Faqe si HackerRankCodeWarsKoderBajt, TopCoder и Kodi Leet ofroni mijëra enigma interesante për të testuar njohuritë tuaja për strukturat dhe algoritmet e të dhënave. Provoni fatin tuaj në zgjidhjen e një problemi që ju pëlqen, postoni zgjidhjen tuaj në Github dhe më pas shikoni se si iu qasen të tjerët. Që na çon në pikën e fundit:

Lexoni kodin e njerëzve të tjerë

Gabimi më i madh që mund të bëni kur shkoni në rrugën e zhvillimit është të shkoni vetëm. Zhvillimi i softuerit është kryesisht një përpjekje ekipore. Ne krijojmë standarde së bashku, bëjmë gabime së bashku dhe, pavarësisht nga të gjitha dështimet, bëhemi më të mirë së bashku. Koha e shpenzuar për të lexuar kodin e njerëzve të tjerë do të paguajë shumë. Vetëm sigurohuni që është kod i mirë.

Epo, këshilla më e mirë që mund të jap është të mos keni kurrë turp që nuk dini ende diçka. Siç është thënë tashmë, industria jonë është e madhe dhe sasia e teknologjisë është e pafundme. Duhet shumë kohë dhe përpjekje për të krijuar një pamje të përgjithshme, edhe më shumë për t'u bërë profesionist në diçka specifike dhe një rend i madh më shumë për të përmirësuar aftësitë tuaja në fushën tuaj. Do t'ju njoftoj kur ta arrij vetë këtë.

Burimi: www.habr.com

Shto një koment