Na sklonku roku si řada lidí dává předsevzetí a často mezi ně patří naučit se něco nového. Je i na vašem seznamu kolonka "naučit se programovat", ale nevíte, který programovací jazyk si vybrat a jak vlastně začít? Připravili jsme pro vás malý přehled pěti nejpoužívanějších jazyků na GitHubu včetně tipů, jak na to.
Python
Je obecně vnímán jako vstupní jazyk pro začátečníky, jelikož je rychlý, jednoduchý a má rozsáhlou komunitu vývojářů. Byl vytvořen s důrazem na čitelnost kódu, který se velice podobá angličtině (tedy vysokoúrovňový jazyk, je daleko od strojového kódu). Obsahuje velké množství knihoven, které slouží pro rozšíření funkcionality skriptů - protože se jedná o skriptovací jazyk, nejsou vytvářeny přímo spustitelné (tzv. kompilované) programy, ale skripty, které Python interpretuje.
V praxi se hodí například pro psaní skriptů pro urychlení repetitivní činnosti, ať už mezi vědci, výzkumníky nebo běžnými programátory. Využívá se hojně pro analýzu dat, zpracování obrazu, zvuku, jako webový backend (framework Django, Flask) a ve strojovém učení je jeho síla znatelná při rychlém návrhu a používání neuronových sítí, pro které existuje také mnoho Python frameworků (Caffe, TensorFlow, Keras). Pro oblasti, kde se musí dbát na bezpečnost (banky, letectví) se Python nehodí, pracují s ním zejména vědci a výzkumníci - využít se ale může takřka pro cokoliv, co vás napadne - od skriptů pro váš smart home, přes posílání stovek požadavků na server za účelem vyhrát nějakou soutěž, programování 2D her, až po detekci aut ve video stopě kamerového provozu v reálném čase. O novinkách (určených pro pokročilejší) v jeho poslední verzi se dočtete v článku "Novinky v Pythonu 3.8".
Pokud chcete Python vyzkoušet, stačí si stáhnout jeho interpreter na oficiálním
webu (který obsahuje rozsáhlou dokumentaci a návody), nebo můžete využít nesčetně kurzů na webech jako jsou Udemy a Coursera. Možností je také online interaktivní iPython -
Jupyter Notebook. Malá zajímavost - tvůrce jazyka, Nizozemec Guido Van Rossum, pojmenoval jazyk podle britské skupiny komiků, Monty Python (Monty Pythonův létající cirkus). Ve srovnání s jinými jazyky pro mě i po letech Python zůstává nejzábavnějším jazykem.
Javascript
Javascript je programovací jazyk, který přidává interaktivitu webové stránce (například hry, reakce na stisknutá tlačítka, upozornění při špatně zadaných datech do formulářů, dynamické stylování a animace). Zajišťuje generování obsahu předtím, než je stránka vykreslena v prohlížeči, ale také pro dynamickou změnu obsahu stránky za běhu. Javascript má všestranné použití a je relativně přátelský pro začátečníky. Ve svojí původní podobě se ale dnes skoro nevyskytuje, v praxi ho nahradily nesčetné frameworky, které pro něj vývojáři po celém světě vytvořili. Mezi ty hlavní patří NodeJS, VueJS, ReactJS (vytvořen korporací Facebook) a podobné.
Rozšiřuje se i díky multiplatformním frameworkům jako je např.
ReactNative - ten umožňuje psát aplikace za použití ReactJS, které budou vypadat stejně jak v prohlížeči, tak i jako aplikace na mobilu (Android, iOS).
Jeho hlavními výhodami je široká použitelnost, pravidelné aktualizace díky ECMA specifikaci a rychlost, jeho hlavní nevýhodou je zneužitelnost pro webové exploity.
Pokud ho chcete zkusit, zmáčkněte v prohlížeči F12, klikněte na kartu Console a zkuste napsat console.log ("Hello Javascript") a stiskněte Enter. První Javascript příkaz máte za sebou! Zbytek se naučíte v online
kurzech a pro otestování, jak Javascript funguje v online formulářích poslouží tento interaktivní
příklad. Pokročilejší ReactJS se zase můžete naučit na Codeacademy.
Java
Java je tzv. univerzální programovací jazyk, je navržen pro co nejširší škálu využití, podobně jako Python nebo Javascript. Je multiplatformní a její kód se kompiluje do
byte kódu, který je spuštěn na Java Virtual Machine (JVM). Javu potkáte dnes hlavně v bankovnictví, pro stavbu podnikových aplikací, v mobilních aplikacích (Android,
Kotlin) a při práci s velkými objemy dat. Banky mají Javu v oblibě kvůli její bezpečnosti a stabilitě, a to zejména ve verzi Java Enterprise Edition. Její bezpečnost a stabilita je ale vykoupena relativní paměťovou náročností a pomalostí. Osobně byla Java můj první jazyk na škole, napsal jsem v ní i první 2D hru (použil jsem framework LWJGL, ve kterém vývojář Notch vytvořil slavnou hru Minecraft), ale v praxi jsem ji shledal spíše nudnou - díky zaměření na podnikové aplikace a bankovní sektor se obvykle jedná o projekty orientované hlavně na vydělávání peněz a maximalizaci zisku. Takže pokud chcete programováním vydělat překvapivě vysoké částky, je Java ideální. Z mojí zkušenosti ale není Java pro lidi, kteří potřebují mít v práci jiný smysl, než jen peníze. Vždy samozřejmě záleží na typu projektu.
S Javou můžete začít stažením vývojového studia
IntelliJ IDEA, které se za vás postará o instalaci vývojového prostředí a balíků Java Development Kit a Java Runtime Environment.
Zajímavost - navzdory tomu, že v Javě byla napsána jedna z nejúspěšnějších her všech dob, Minecraft, není Java vhodná pro vývoj her (nedostatky výše). Herní vývojář Notch ji zvolil proto, že ji slušně ovládal, ale nepovažoval se v té době za dobrého programátora, proto první verze hry nebyly příliš optimalizované pro plynulý běh.
Go
Go, také známý jako Golang je programovací jazyk vytvořený korporací Google. Poskytuje výbornou podporu pro vícejádrové aplikace a proto ho využívají zejména společnosti, které závisí na distribuovaných systémech (startupy v Silicon Valley). Jinými slovy: pokud se chystáte zapojit do startup kultury, Go je ten správný jazyk.
Je
staticky typovaný (stejně jako Java) a tudíž je bezpečnější při vývoji a ne tak náchylný k bugům - ideální pro stavění Single Page Aplikací a programů pro vícejádrové procesory. Jedná se o relativně nový jazyk, proto zatím nepodporuje mnoho knihoven a je spíše jednostranný. Podobá se nízkoúrovňovému jazyku C. Hlavní předností jazyka Go je jeho vyjadřovací síla, čistota a efektivita. Začít můžete stažením
kompilátoru jazyka a vyzkoušením návodů v dokumentaci.
R
R je jedním z nejčastěji používaných jazyků pro analýzu dat a strojové učení (ML). Součástí jazyka R je vynikající framework a vestavěné knihovny pro vývoj ML algoritmů. Hodí se také pro statistické výpočty, analýzy a pro tvorbu grafů. Ti, co hledají pozici jako datoví analytici, nešlápnou s jazykem R vedle.
Hlavní výhodou R je jeho schopnost běžet na různých operačních systémech, masivní komunita vývojářů, vysoká rozšiřitelnost a silná podpora dalších knihoven a balíků. Nevýhodou pak je jeho relativní nebezpečnost a špatná správa paměti. Jedná se o open-source, a kvalita některých balíků je podprůměrná. Začít s R můžete stažením vývojového studia
RStudio a jako tutoriál poslouží skvělé
video od Dereka Banase.
Ať už si pro rok 2020 vyberete jakýkoliv jazyk, volte pečlivě podle oboru, do kterého se chcete dostat. Tyto jazyky již existují mnoho let a v praxi se stabilně používají. Každý rok se také řadí mezi nejpoužívanější jazyky, takže s nimi nešlápnete vedle. Závisí už jen na vás, jaké dílo s nimi vytvoříte a jakým projektům přispějete svojí kreativitou.
Jan Jileček