Ako sa naučiť programovací jazyk (s obrázkami)

Ak máte záujem vytvárať počítačové programy, mobilné aplikácie, webové stránky, hry alebo akýkoľvek iný softvér, budete sa musieť naučiť programovať. Programy sa vytvárajú pomocou programovacieho jazyka. Tento jazyk umožňuje, aby program fungoval so zariadením, na ktorom beží, či už je to počítač, mobilný telefón alebo akýkoľvek iný hardvér.

Časť 1 zo 6:Výber jazyka

PRÍDE ČOSKORO
Určite oblasť svojho záujmu. Učiť sa môžete začať s akýmkoľvek programovacím jazykom (hoci niektoré sú určite „ľahšie“ ako iné), takže by ste mali začať tým, že si položíte otázku, čo chcete dosiahnuť učením sa programovacieho jazyka.[1]
Odborný zdroj
Stephen Cognetta, MBA
Tréner pre technické pohovory
Rozhovor s odborníkom. 21 júl 2020.
Pomôže vám určiť, akému typu programovania by ste sa mali venovať, a poskytne vám dobrý východiskový bod.

  • Ak sa chcete venovať tvorbe webových stránok, budete sa musieť naučiť úplne iné jazyky ako pri vývoji počítačových programov. Vývoj mobilných aplikácií si vyžaduje iný súbor zručností ako strojové programovanie. Všetky tieto rozhodnutia ovplyvnia vaše smerovanie.

COMING SOON
Zvážte, či nezačnete s „jednoduchším“ jazykom. Bez ohľadu na vaše rozhodnutie možno budete chcieť zvážiť, či nezačnete s niektorým z vysokoúrovňových, jednoduchších jazykov.[2]
Odborný zdroj
Stephen Cognetta, MBA
Tréner pre technické pohovory
Rozhovor s odborníkom. 21. júla 2020.
Tieto jazyky sú užitočné najmä pre začiatočníkov, pretože učia základné pojmy a myšlienkové postupy, ktoré sa dajú aplikovať prakticky na akýkoľvek jazyk.[3]

  • Dva najpopulárnejšie jazyky v tejto kategórii sú Python a Ruby. Oba tieto jazyky sú objektovo orientované webové aplikácie, ktoré používajú veľmi čitateľnú syntax.
  • „Objektovo orientovaný“ znamená, že jazyk je postavený na konceptoch „objektov“ alebo kolekcií údajov a manipulácii s nimi. Ide o koncept, ktorý sa používa v mnohých pokročilých programovacích jazykoch, ako sú C++, Java, Objective-C a PHP.

PRÍDE ČOSKORO
Prečítajte si niekoľko základných návodov pre rôzne jazyky.[4]
Odborný zdroj
Stephen Cognetta, MBA
Tréner pre technické pohovory
Rozhovor s odborníkom. 21. júla 2020.
Ak si stále nie ste istí, ktorý jazyk by ste sa mali začať učiť, prečítajte si niekoľko učebníc pre niekoľko rôznych jazykov. Ak vám niektorý jazyk dáva väčší zmysel ako ostatné, vyskúšajte ho na chvíľu, aby ste zistili, či sa vám zapáči. Na internete je k dispozícii nespočetné množstvo návodov na každé programovanie vrátane mnohých na wikiHow:

  • Python – skvelý štartovací jazyk, ktorý je po zoznámení sa s ním aj dosť výkonný. Používa sa v mnohých webových aplikáciách a v mnohých hrách.
  • Java – používa sa v nespočetných typoch programov, od hier cez webové aplikácie až po softvér pre bankomaty.
  • HTML – Základné východisko pre každého tvorcu webových stránok. Ovládanie jazyka HTML je nevyhnutné pred prechodom na akýkoľvek iný druh vývoja webových stránok.
  • C – Jeden zo starších jazykov, C je stále mocným nástrojom a je základom modernejších jazykov C++, C# a Objective-C.

Časť 2 zo 6:Začíname v malom

COMING SOON
Naučte sa základné pojmy jazyka. Hoci sa časti tohto kroku, ktoré sa uplatňujú, líšia v závislosti od zvoleného jazyka, všetky programovacie jazyky majú základné koncepty, ktoré sú nevyhnutné na vytváranie užitočných programov. Naučiť sa a osvojiť si tieto pojmy na začiatku uľahčí riešenie problémov a vytváranie výkonného a efektívneho kódu. Nižšie sú uvedené len niektoré zo základných konceptov, ktoré sa nachádzajú v mnohých rôznych jazykoch:

  • Premenné – Premenná je spôsob uchovávania a odkazovania na meniace sa časti údajov. S premennými možno manipulovať a často majú definované typy, ako napríklad „celé čísla“, „znaky“ a iné, ktoré určujú typ údajov, ktoré možno ukladať. Pri kódovaní majú premenné zvyčajne názvy, vďaka ktorým sú pre človeka do určitej miery identifikovateľné. To uľahčuje pochopenie interakcie premennej so zvyškom kódu.
  • Podmienené príkazy – Podmienený príkaz je akcia, ktorá sa vykoná na základe toho, či je príkaz pravdivý alebo nie. Najbežnejšou formou podmieneného príkazu je príkaz „If-Then“. Ak je výrok pravdivý (e.g. x = 5), potom sa stane jedna vec. Ak je výrok nepravdivý (napr.g. x != 5), potom sa stane niečo iné.
  • Funkcie alebo podprogramy – skutočný názov tohto pojmu sa môže nazývať rôzne v závislosti od jazyka. Môže to byť aj „procedúra“, „metóda“ alebo „volateľná jednotka“. Ide v podstate o menší program v rámci väčšieho programu. Funkcia môže byť programom „volaná“ viackrát, čo umožňuje programátorovi efektívne vytvárať zložité programy.
  • Zadávanie údajov – Ide o široký pojem, ktorý sa používa takmer v každom jazyku. Zahŕňa spracovanie vstupu používateľa, ako aj ukladanie týchto údajov. Spôsob zhromažďovania týchto údajov závisí od typu programu a vstupov, ktoré má používateľ k dispozícii (klávesnica, súbor atď.). Úzko súvisí s výstupom, ktorý predstavuje spôsob vrátenia výsledku používateľovi, či už je zobrazený na obrazovke alebo doručený v súbore.

COMING SOON
Nainštalovať všetok potrebný softvér. Mnohé programovacie jazyky vyžadujú kompilátory, čo sú programy určené na preklad kódu do jazyka, ktorému rozumie počítač. Iné jazyky, ako napríklad Python, používajú interpreter, ktorý dokáže okamžite vykonávať programy bez kompilácie.

  • Niektoré jazyky majú IDE (integrované vývojové prostredie), ktoré zvyčajne obsahuje editor kódu, kompilátor a/alebo interpret a ladiaci program. To umožňuje programátorovi vykonávať všetky potrebné funkcie na jednom mieste. IDE môžu obsahovať aj vizuálne reprezentácie hierarchií objektov a adresárov.
  • Na internete sú k dispozícii rôzne editory kódu. Tieto programy ponúkajú rôzne spôsoby zvýrazňovania syntaxe a poskytujú ďalšie nástroje vhodné pre vývojárov.

3. časť zo 6:Vytvorenie prvého programu

COMING SOON
Zamerajte sa postupne na jeden koncept. Jedným z prvých programov, ktoré sa vyučujú v akomkoľvek jazyku, je program „Hello World“. Toto je veľmi jednoduchý program, ktorý na obrazovke zobrazí text „Hello, World“ (alebo jeho variáciu). Tento program učí začínajúcich programátorov syntax na vytvorenie základného funkčného programu, ako aj to, ako zaobchádzať so zobrazovaním výstupu. Zmenou textu sa môžete naučiť, ako program pracuje so základnými údajmi. Nižšie nájdete niekoľko návodov wikiHow na vytvorenie programu „Hello World“ v rôznych jazykoch:

  • Hello World v jazyku Python
  • Hello World v jazyku Ruby
  • Hello World v jazyku C
  • Hello World v PHP
  • Hello World v jazyku C#
  • Hello World v jazyku Java

PRÍDE ČOSKORO
Učte sa prostredníctvom dekonštrukcie online príkladov. Na internete sú tisíce príkladov kódu prakticky pre každý programovací jazyk. Pomocou týchto príkladov preskúmajte, ako fungujú rôzne aspekty jazyka a ako sa jednotlivé časti navzájom ovplyvňujú. Vyberajte si kúsky z rôznych príkladov a vytvárajte vlastné programy.

PRÍDE ČOSKORO
Preskúmajte syntax. Syntax je spôsob, akým je jazyk napísaný, aby mu kompilátor alebo interpretátor rozumel. Každý jazyk má jedinečnú syntax, hoci niektoré prvky môžu byť spoločné pre viacero jazykov. Naučenie sa syntaxe je nevyhnutné na to, aby ste sa naučili programovať v danom jazyku, a je to často to, čo sa ľuďom vybaví, keď premýšľajú o počítačovom programovaní. V skutočnosti je to len základ, na ktorom sú postavené pokročilejšie koncepty.

PRÍDE ČOSKORO
Experimentujte so zmenami. Vykonajte zmeny v príkladových programoch a potom otestujte výsledok. Experimentovaním sa môžete naučiť, čo funguje a čo nie, oveľa rýchlejšie ako čítaním knihy alebo príručky. Nebojte sa rozbiť svoj program; naučiť sa opravovať chyby je dôležitou súčasťou každého vývojového procesu a nové veci takmer nikdy nefungujú správne na prvýkrát.[5]

PRÍDE ČOSKORO
Začnite si precvičovať ladenie. Pri programovaní sa nevyhnutne stretnete s chybami. Ide o chyby v programe, ktoré sa môžu prejaviť prakticky kdekoľvek. Chyby môžu byť neškodné výstrelky v programe, alebo to môžu byť závažné chyby, ktoré bránia kompilácii alebo spusteniu programu. Vyhľadávanie a oprava týchto chýb je hlavným procesom v cykle vývoja softvéru, preto si na to zvyknite už na začiatku.

  • Keď budete experimentovať so zmenou základných programov, narazíte na veci, ktoré nefungujú. Zistiť, ako použiť iný prístup, je jednou z najcennejších zručností, ktoré môžete ako programátor mať.

COMING SOON
Komentujte celý kód. Takmer všetky programovacie jazyky majú funkciu „komentár“, ktorá umožňuje zahrnúť text, ktorý nie je spracovaný prekladačom alebo kompilátorom. Umožňuje zanechať krátke, ale jasné vysvetlenia v ľudskom jazyku o tom, čo kód robí. Pomôže vám to nielen zapamätať si, čo váš kód robí vo veľkom programe, ale je to aj základný postup v prostredí spolupráce, pretože umožňuje ostatným pochopiť, čo váš kód robí.

Časť 4 zo 6:Pravidelné cvičenie

COMING SOON
Kódovať denne. Zvládnutie programovacieho jazyka si vyžaduje predovšetkým čas. Dokonca aj jednoduchší jazyk, ako je Python, ktorého pochopenie základnej syntaxe môže trvať len jeden alebo dva dni, si vyžaduje veľa času, aby ste sa v ňom stali skutočne zručnými. Tak ako pri iných zručnostiach, aj tu je prax kľúčom k lepšej zručnosti. Snažte sa každý deň stráviť aspoň nejaký čas kódovaním, aj keby to mala byť len hodina medzi prácou a večerou.

PRÍDE ČOSKORO
Stanovte si ciele pre svoje programy. Stanovením dosiahnuteľných, ale náročných cieľov budete môcť začať riešiť problémy a vymýšľať riešenia. Skúste si vymyslieť základnú aplikáciu, napríklad kalkulačku, a vypracujte spôsob, ako ju vytvoriť. Používajte syntax a koncepty, ktoré ste sa naučili, a aplikujte ich na praktické použitie.

PRÍDE ČOSKORO
Rozprávajte sa s ostatnými a čítajte iné programy. Existuje veľa programátorských komunít, ktoré sa venujú konkrétnym jazykom alebo disciplínam. Vyhľadanie komunity a účasť v nej môže urobiť zázraky pri učení. Získate prístup k rôznym príkladom a nástrojom, ktoré vám môžu pomôcť v procese učenia. Čítanie kódu iných programátorov vás môže inšpirovať a pomôcť vám pochopiť koncepty, ktoré ste ešte neovládli.[6]

  • Pozrite si programovacie fóra a online komunity pre vybraný jazyk. Uistite sa, že sa zúčastňujete a nielen neustále kladiete otázky. Tieto komunity sú zvyčajne vnímané ako miesto spolupráce a diskusie, a nie len ako Q&A. Nebojte sa požiadať o pomoc, ale buďte pripravení ukázať svoju prácu a buďte otvorení skúšaniu rôznych prístupov.
  • Keď už budete mať nejaké skúsenosti, zvážte účasť na hack-a-thone alebo programátorskom jame. Ide o podujatia, na ktorých jednotlivci alebo tímy súťažia s časom o vytvorenie funkčného programu, zvyčajne založeného na konkrétnej téme. Tieto podujatia môžu byť veľmi zábavné a sú skvelým spôsobom, ako spoznať ďalších programátorov.

COMING SOON
Vyzvite sa, aby vás to bavilo. Skúste robiť veci, ktoré ešte neviete, ako sa robia. Preskúmajte spôsoby plnenia tejto úlohy (alebo podobnej úlohy) a potom sa ich pokúste implementovať do vlastného programu. Snažte sa vyhnúť tomu, aby ste sa uspokojili s programom, ktorý „v podstate“ funguje; urobte všetko pre to, aby každý aspekt fungoval bezchybne.

Časť 5 zo 6:Rozšírenie vašich vedomostí

COMING SOON
Absolvujte niekoľko školení. Mnohé univerzity, komunitné vysoké školy a komunitné centrá ponúkajú kurzy a workshopy programovania, ktoré môžete navštevovať bez toho, aby ste sa museli zapísať na školu. Môžu byť skvelé pre nových programátorov, pretože môžete získať praktickú pomoc od skúseného programátora, ako aj nadviazať kontakty s inými miestnymi programátormi.[7]
Expertný zdroj
Stephen Cognetta, MBA
Technický kouč pre prijímacie pohovory
Rozhovor s odborníkom. 21 júl 2020.

PRÍDE ČOSKORO
Kúpiť alebo požičať si knihu. Pre všetky možné programovacie jazyky sú k dispozícii tisíce výukových kníh. Aj keď by vaše vedomosti nemali pochádzať výlučne z knihy, sú skvelými referenciami a často obsahujú veľa dobrých príkladov.

PRÍDE ČOSKORO
Štúdium matematiky a logiky. Väčšina programovania zahŕňa základnú aritmetiku, ale možno budete chcieť študovať pokročilejšie koncepty. Je to obzvlášť dôležité, ak vyvíjate zložité simulácie alebo iné programy náročné na algoritmy. Na väčšinu každodenného programovania nepotrebujete veľa pokročilej matematiky. Štúdium logiky, najmä počítačovej logiky, vám môže pomôcť pochopiť, ako najlepšie pristupovať k riešeniu zložitých problémov pri pokročilejších programoch.

PRÍDE ČOSKORO
Nikdy neprestaňte programovať. Existuje populárna teória, že stať sa expertom si vyžaduje najmenej 10 000 hodín praxe. Aj keď je to na diskusiu, všeobecná zásada zostáva pravdivá: zvládnutie si vyžaduje čas a odhodlanie. Neočakávajte, že budete vedieť všetko zo dňa na deň, ale ak sa budete sústrediť a pokračovať v učení, môžete veľmi dobre skončiť ako expert vo svojom odbore.[8]

COMING SOON
Naučte sa ďalší programovací jazyk. Hoci si určite vystačíte so zvládnutím jedného jazyka, mnohí programátori si pomáhajú šancu na úspech v odbore tým, že sa učia viacero jazykov. Ich druhý alebo tretí jazyk zvyčajne dopĺňa prvý jazyk, čo im umožňuje vyvíjať zložitejšie a zaujímavejšie programy. Keď už dobre ovládate svoj prvý program, možno je čas začať sa učiť nový program.

  • Pravdepodobne zistíte, že učenie druhého jazyka vám pôjde oveľa rýchlejšie ako učenie prvého. Mnohé základné koncepty programovania sa prenášajú naprieč jazykmi, najmä ak sú jazyky úzko prepojené.

Časť 6
Časť 6 zo 6:Uplatnenie vašich zručností

PRÍDE ČOSKORO
Zapíšte sa do štvorročného programu. Hoci to nie je striktne nevyhnutné, štvorročný program na vysokej škole alebo univerzite vám môže ukázať rôzne jazyky, ako aj pomôcť nadviazať kontakty s odborníkmi a inými študentmi. Táto metóda určite nie je pre každého a veľa úspešných programátorov nikdy nenavštevovalo štvorročné štúdium.[9]
Odborný zdroj
Stephen Cognetta, MBA
Tréner pre technické pohovory
Rozhovor s odborníkom. 21. júla 2020.

COMING SOON
Vytvorte si portfólio. Pri vytváraní programov a rozširovaní svojich vedomostí sa uistite, že všetky vaše najlepšie práce sú uložené v portfóliu. Toto portfólio môžete ukázať personalistom a pracovníkom na pohovore ako príklad práce, ktorú vykonávate. Uistite sa, že ste zahrnuli všetky práce vykonané vo svojom voľnom čase, a uistite sa, že máte povolené zahrnúť všetky práce vykonané v inej spoločnosti.

COMING SOON
Vykonajte nejakú prácu na voľnej nohe. Existuje veľmi veľký trh s programátormi na voľnej nohe, najmä s vývojármi mobilných aplikácií. Prijmite niekoľko malých prác na voľnej nohe, aby ste získali pocit, ako funguje komerčné programovanie. Často môžete využiť prácu na voľnej nohe, ktorá vám pomôže vybudovať si portfólio a poukázať na publikované práce.

  • COMING SOON
    Vyvíjať vlastné freewarové alebo komerčné programy. Nemusíte pracovať pre spoločnosť, aby ste si zarábali programovaním. Ak máte zručnosti, môžete sami vyvíjať softvér a uvoľniť ho na predaj buď prostredníctvom vlastnej webovej stránky, alebo cez iné trhovisko. Buďte pripravení na to, že budete schopní poskytnúť podporu pre akýkoľvek softvér, ktorý uvoľníte na komerčný predaj, pretože zákazníci budú očakávať, že ich nákup bude fungovať.

    • Freeware je populárny spôsob distribúcie malých programov a utilít. Vývojár nedostáva žiadne peniaze, ale je to skvelý spôsob, ako si vybudovať meno a zviditeľniť sa v komunite.
  • Odkazy

      Stephen Cognetta, MBA. Tréner pre technické pohovory. Rozhovor s odborníkom. 21. júla 2020.

      Stephen Cognetta, MBA. Technický tréner pre rozhovory. Rozhovor s odborníkom. 21. júla 2020.

      http://regulargeek.com/2009/02/11/what-programming-language-should-i-learn/

      Stephen Cognetta, MBA. Technický rozhovor Tréner. Odborný pohovor. 21. júla 2020.

      http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/

      http://norvig.com/21-days.html

      Stephen Cognetta, MBA. Tréner technického pohovoru. Rozhovor s odborníkom. 21. júla 2020.

      http://healthland.čas.com/2013/05/20/10000-hours-may-not-make-a-master-after-all

      Stephen Cognetta, MBA. Tréner pre technické pohovory. Rozhovor s odborníkom. 21 júla 2020.