Jeden jazyk, který vládne všem

Jazyk skrytý pod vrstvou kódu chřadne a touží se naučit.

Jeden jazyk, který vládne všem

V době psaní tohoto článku dotaz „naprogramovat, který jazyk se učit jako první“ vrací 517 milionů výsledků vyhledávání. Každý z těchto webů bude chválit jeden konkrétní jazyk a 90 % z nich nakonec doporučí Python nebo JavaScript.

Bez dalších okolků bych rád uvedl, že všech těchto 517 milionů webových stránek je špatných a že jazyk, který byste se měli naučit jako první, je fundamentální logika.

Jen vědět, jak kódovat, nestačí. Trh je natolik přesycen absolventy institutů a kurzů, že juniorská pozice prakticky přestala existovat*. Abyste v dnešním světě uspěli, musíte kódovat a mít pokročilé základní logické myšlení.

*dále prosím pamatujte, že se jedná o překlad a situace na trhu práce pro autora a u vás může být odlišná (i další nuance), což však samo o sobě původní článek nezhoršuje - Cca. překlad

Moje první lekce informatiky

Můj první kontakt s informatikou byl volitelný předmět, který jsem absolvoval v 10. třídě. Hned první den, když jsem vstoupil do třídy, jsem s potěšením viděl před sebou velké množství kýblů zmrzliny a různých polev. Když se všichni posadili, učitel oznámil:

„Dnes ochutnáme vlastnoručně připravované zmrzliny. Ale s jednou podmínkou: musíte si udělat seznam konkrétních pokynů, jak dezert připravit, a já se jimi budu řídit.“

"Žádný problém," pomyslel jsem si, "tato lekce nebude dlouhá." Zhruba během minuty jsem si zapsal dokonalý recept na zmrzlinu mých snů:

  1. Naberte a vložte tři kopečky malinové zmrzliny do misky
  2. Otevřete čokoládovou omáčku a přidejte dvě polévkové lžíce do stejné misky
  3. Do misky přidejte šlehačku
  4. Vše posypte cukrovými tyčinkami a navrch dejte třešeň

Můj učitel – „počítač“ v této roztomilé metafoře – předvedl sarkastičtější, doslovnější představení, než jsem kdy předtím viděl. Začala horlivě šťouchat do kbelíku se zmrzlinou naběračkou, aniž by se dotkla víka.

"Dobře, dobře, ale nejdřív to musíš otevřít!" - zvolal jsem a snažil se dostat pamlsek co nejrychleji.

„To jsi nenapsal v návodu a já ti nemohl udělat zmrzlinu. DALŠÍ!"

Pojďme rychle vpřed na pokus č. 2

  1. Otevřete malinovou zmrzlinu sejmutím víka
  2. Naberte a vložte tři kopečky malinové zmrzliny do misky
  3. Otevřete čokoládovou omáčku a přidejte dvě polévkové lžíce do stejné misky
  4. Do misky přidejte šlehačku
  5. Vše posypte cukrovými tyčinkami a navrch položte třešeň

No, teď by rozhodně neměly být žádné problémy. Pro jistotu jsem se ujistil, že všechny ingredience pro výrobu mého kulinářského mistrovského díla jsou otevřené.

Učitel sundal víko, nabral a dal tři kopečky zmrzliny do misky. "Konečně se moje krásná zmrzlina začala plnit!" Poté otevřela čokoládovou omáčku a do misky přidala dvě polévkové lžíce. „Nepřidala čokoládovou omáčku ze dvou polévkových lžic“ - nemyslete si to - samozřejmě dala samotné lžíce do misky. Žádná omáčka v nich. Opět jsem se neobtěžoval napsat vše přesně. Poté, co byl zbytek proveden ve stejném duchu, jsem dostal misku zmrzliny a dvě polévkové lžíce, sotva znatelné pod mořem šlehačky. Nahoře byl pár cukrových tyčinek.

Zdá se, že v tuto chvíli mi konečně došlo: počítač je logika ve vzduchoprázdnu. Neuvědomuje si okolní okolnosti a nedělá si žádné domněnky. Provádí pouze jasně formulované pokyny a dodržuje je slovo od slova.

Můj konečný výsledek byl výsledkem dlouhé, ale nezbytné série pokusů a omylů:

  1. Pokud jste tak ještě neučinili, otevřete každý z následujících balíčků: malinová zmrzlina, čokoládová omáčka, šlehačka, cukrové tyčinky.
  2. Vyjměte misku a postavte ji před sebe
  3. Vezměte kopeček zmrzliny a jeden po druhém dejte do misky tři kopečky malinové zmrzliny. Vraťte kopeček zmrzliny na místo.
  4. Vezměte sklenici čokoládové omáčky, naberte omáčku a nalijte obsah polévkové lžíce do misky. Proces nabírání a nalévání zopakujte ještě jednou. Vraťte lžíci a sklenici na místo.
  5. Vezměte balíček šlehačky dnem vzhůru a podržte jej nad mísou, nalijte jej na zmrzlinu po dobu 3 sekund, poté vraťte balíček na své místo.
  6. Vezměte sklenici cukrových tyčinek, nasypte do mísy asi čtyřicet tyčinek a sklenici vložte zpět.
  7. Vezměte jednu třešeň z misky třešní a položte ji na zmrzlinu.
  8. Dejte žákovi misku s hotovou zmrzlinou a lžíci.

Poslední bod byl obzvlášť důležitý, protože bez něj mi učitelka předposlední zmrzlinu prostě začala jíst.

Ale to je programování. Stres z vytvoření pečlivé sady pokynů pro počítač. V podstatě k tomu dochází u každého programovacího jazyka – psaní instrukcí.

Kariéra v programování

Programování dosáhlo bodu, kdy je obtížné diskutovat o jediném odvětví, stejně jako je obtížné použít jediné slovo „programátor“ jako popis práce. Dva vývojáři mohou být stejně žádaní trhem, kteří znají zcela odlišné jazyky, což znamená, že schopnost vyvíjet se je důležitější než znalost konkrétního jazyka. Univerzální atribut sdílený všemi úspěšnými vývojáři je fundamentální logika.

Nejlepší programátor je ten, kdo se dokáže podívat na kód z nového úhlu. A to je zásadně důležité, protože většina softwarových produktů je sbírka nezdokumentovaných fragmentů špatného kódu. Je třeba je neustále spojovat a podle potřeby vyplňovat mezery. Lidé, kteří nejsou schopni spojit nesourodé tečky jednou čárou, budou muset navždy zůstat na vedlejší koleji.

To vše mě přivádí k dalšímu prohlášení, tentokrát tučně: základní znalosti vždy byly a budou pro programátora prvořadé.

Jazyky přicházejí a odcházejí. Rámce se stávají zastaralými a společnosti reagují na poptávku změnou technologického zásobníku, který používají. Je jedna věc, která se nikdy nezmění? Ano – fundamentální znalost, která se nazývá fundamentální, protože je základem všeho!

Jak zlepšit základní znalosti

Jeden jazyk, který vládne všemFoto Christopher Jeschke na Unsplash

Pokud hledáte výchozí bod pro zlepšení svého základního logického myšlení, zkuste začít zde:

Poznejte složitost svého programu

Také zvaný Velký O „složitost algoritmu“ se týká závislosti času, který trvá spuštění programu, na velikosti jeho vstupních dat (n). Udržet prst na tepu používaných algoritmů je důležitým krokem.

Poznejte své datové struktury

Datové struktury jsou srdcem každého moderního programu. Vědět, kterou strukturu v kterém případě použít, je disciplína sama o sobě. Datové struktury přímo souvisí se složitostí běhového prostředí a výběr špatné struktury může vést k zásadním problémům s výkonem. Hledání prvku v poli je O (n), což naznačuje vysoké náklady na použití polí jako vstupních dat. Vyhledávání v hash tabulce − O (1), což znamená, že v tomto případě čas hledání hodnoty nezávisí na počtu prvků.

Lidé za mnou přišli na rozhovor a tvrdili, že prohledávání pole je rychlejší než prohledávání hashovací tabulky. To bylo nejjistější znamení, že byste je neměli najímat – poznejte své datové struktury.

Číst / sledovat / poslouchat

Stránky jako UdemyPluralsight и CodeAcademy - Výborná volba pro výuku nových programovacích jazyků. Ale pro základy si prostudujte knihy o obecných principech kódování, postupech a stylech. Nejvíce doporučované knihy jsou „Design Patterns“, „Refactoring“. Vylepšení existujícího kódu, „Perfektní kód“, „Čistý kód“ a „Pragmatický programátor“. Nakonec by si každý vývojář měl ponechat kopii souboru "Algoritmy" po ruce.

Praxe!

Míchaná vejce neuvaříte bez rozbití vajec. Stránky jako Hacker RankCodeWarsCoderByte, TopCoder и LeetCode nabízí tisíce zajímavých hádanek, které otestují vaše znalosti datových struktur a algoritmů. Zkuste své štěstí při řešení problému, který se vám líbí, zveřejněte své řešení na Github a pak uvidíte, jak k němu přistoupili ostatní. Což nás přivádí k poslednímu bodu:

Přečtěte si kód ostatních lidí

Největší chybou, kterou můžete udělat, když se vydáte cestou vývoje, je jít sami. Vývoj softwaru je z velké části týmová práce. Společně vytváříme standardy, děláme společně chyby a přes všechna selhání se společně stáváme lepšími. Čas strávený čtením cizího kódu se vám bohatě vyplatí. Jen se ujistěte, že je to dobrý kód.

No, nejlepší rada, kterou mohu dát, je nikdy se nestydět za to, že ještě něco nevíte. Jak již bylo řečeno, náš průmysl je obrovský a množství technologií nekonečné. Vybudovat si celkový obrázek vyžaduje spoustu času a úsilí, ještě více stát se profesionálem v něčem konkrétním a řádově více zdokonalit své dovednosti ve svém oboru. Dám vám vědět, až to sám dosáhnu.

Zdroj: www.habr.com

Přidat komentář