Programuju, 3. díl: Proč se vyplatí umět Python
V minulém díle seriálu Programuju jsme se zaměřili na porovnání nejoblíbenějších programovacích jazyků a jejich výhody a nevýhody. Řekli jsme si, že Python je podle nás nejvhodnějším jazykem pro začínajícího programátora a to nejen z hlediska přehlednosti kódu a náročnosti na naučení, ale i díky jeho rychle rostoucí popularitě.
V minulém díle seriálu Programuju jsme se zaměřili na porovnání nejoblíbenějších programovacích jazyků a jejich výhody a nevýhody. Řekli jsme si, že Python je podle nás nejvhodnějším jazykem pro začínajícího programátora a to nejen z hlediska přehlednosti kódu a náročnosti na naučení, ale i díky jeho rychle rostoucí popularitě.
Vývojáři milují Python a vědí proč
S Pythonem se dá dělat spousta zajímavých věcí a v některých oblastech je skutečně volbou číslo jedna. Firmy se na Python hodně spoléhají zejména v těchto oblastech:
1. Webové aplikace – známe je z našich webových prohlížečů. Příkladem může být Instagram. Uploadujeme na něj miliony fotek, komentujeme a vyhledáváme uživatele. Tohle všechno se posílá z prohlížeče na server, kde se o zpracování všech dat stará Python.
2. Datová analýza – Python má silný arzenál zbraní na šrotování dat, ale i jejich vizualizaci. Proto jej používají firmy na zpracování velkého množství dat, strojové učení či prediktivní analytiku.
3. Administrace na serverech – je více způsobů jak takový admin může vykonávat příkazy na svých serverech. V případě, že potřebuje dělat něco komplikovanějšího, může si napsat jednoduchý skript nebo dokonce složitější program v Pythonu.
4. Testování aplikací – to je obor sám o sobě a důležitá součást jakéhokoliv seriózního vývoje aplikací. Taky tady má Python spoustu možností a výhod. Kupříkladu jsme schopni psát v Pythonu testovací programy, které se za nás proklikají vyvíjenou webovou aplikaci.
Co mají tyto všechny výhody společného? Krásu a jednoduchost Python kódu. Takže po relativně krátké době jsou ti, kteří se učí programovat v Pythonu, schopni dělat zajímavé věci.
Python používají největší firmy světa
Co mají společného aplikace Pinterest, YouTube, Bitbucket a Instagram? Všechny mají nějakou svoji část napsanou v Pythonu. Jistě k vývoji webů potřebuješ i další technologie. Například vizuální podobu stránek a to, jak s uživatelem interagují, má na starosti JavaScript a CSS.
Python běží na webu
Server je počítač, který přijímá a vyřizuje požadavky, které k němu přicházejí od uživatelů webových stránek a ostatních služeb. Zní to všechno příliš abstraktně?
Představ si, že do vyhledávací lišty v prohlížeči napíšeš URL webu, na který se chceš podívat. Stiskneš enter a v další sekundě už scrolluješ na své vybrané adrese. Za zpracováním tvého požadavku možná stál právě Python, který musel něco vypočítat nebo se podíval do databáze a získaná data ti poslal v podobě stránky, na kterou se právě díváš.
Jistě, tyto úkony by zvládli i jiné programovací jazyky, ale málokterý je tak jednoduchý a efektivní jako Python. A právě díky jednoduchosti Pythonu dokáže začátečník efektivně vstoupit do světa programování, a to i do programování takzvaného back-endu webových aplikací.
Python jde s dobou
Machine learning, analýza dat, automatizované testování, robotizace. Moderní technologie posledních let, které mění celá odvětví. Pojmy, které se točí kolem průmyslu 4.0 a do různé míry pracují s Pythonem.
Analýza dat
Představ si, že pracuješ jako personalista ve firmě s tisícovkou pracovníků. Ze zákona musíš evidovat pracovní dobu svých zaměstnanců. Ruční kontrola docházkových knih ti dříve zabírala několik dnů. Šikovný Python specialista data zpracuje za jedno odpoledne.
Nejdřív si určí kritéria, podle kterých bude hledat data. Poté je porovná s předepsanými normami. A personalista pak ví, kolik přesčasů, nočních směn a pohotovostí měl v posledním kvartále Franta Vopička a jestli to bylo v souladu se zákonem.
Analýza dat je synonymum pro nižší náklady a efektivnější řízení institucí. Big data analysis se proto už dnes používá v mnoha firmách, od vládních úřadů přes dopravu až po zdravotnictví. V budoucnu bude tento trend sílit a programátorů v Pythonu bude potřeba ještě víc než dnes.
Machine learning
Machine learning je obor, který se zaobírá způsoby, jak naučit stroje učit se ze svých zkušeností. I v této oblasti se používá Python. Jak to funguje?
Robot, který je naprogramovaný pomocí machine learningu, při prvním pokusu o zdolání překážky většinou spadne. Ale zapamatuje si, co pád způsobilo. Napodruhé se pokusí překážku zdolat jinou cestou.
Machine learning není jen abstraktní věda o robotech. Hlasový asistent v iPhonech Siri reaguje podobně jako lidská bytost. Při tagování obličejů na fotkách ti Facebook napovídá jména přátel a častokrát se trefí. Navigace v Google Maps vypočítává čas dojezdu do cíle s ohledem na dopravní zácpy. To všechno s pomocí technologie machine learning.
Podobné programy nezvládneš vytvořit bez dokonalé znalosti statistiky nebo teorie pravděpodobnosti. Ale základ je Python. Využívá ho 57 % machine learning specialistů, což jej řadí na první příčku programovacích jazyků pro machine learning.
Automatizované testování
Software testeři dříve funkčnost svých aplikací ověřovali ručně. U aplikací, které přijímají data a dávají výstupy (což je vlastně téměř každá), může nastat tisíce různých situací. A testeři museli každý scénář ověřit. Jeden po jednom. Také vám to připomíná dobu kamennou?
Dnes jsme už naštěstí mnohem dál. Stačí napsat testovací kód v Pythonu, kterým, ověříme všechny možné scénáře a podchytíme chyby ještě před tím, než se dostanou ke koncovým uživatelům. Testeři se často podílí na návrhu aplikací a jejich práce nekončí rozhodně releasem appky. Proto jsou testeři tak cenění.
Python má spoustu knihoven, které velmi usnadňují práci s testy, například pytest nebo unittest. Díky tomu je pro testování jako dělaný.
Počítačové hry? S Pythonem ne
Nechceme ti tu mazat med kolem pusy. Na počítačové hry nebo naprogramování výrobní linky v továrně se hodí jiné jazyky.
To ale neznamená, že tyto programy v Pythonu nevytvoříš. Naopak. Python je opravdu flexibilní, můžeme s ním vytvořit prakticky cokoliv a navíc se ho naučíš mnohem dříve než jiné jazyky. Zkrátka je to výborný nástroj, které by neměl chybět v tvém portfoliu. Ať už jsi začínající ajťák, nebo ostřílený IT specialista.
Python kurzy od ENGETA