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. Odvíjí se to od typů programů, jaké ajťáci vytvářejí. Pokud to hodně zjednodušíme, máme tři druhy aplikací:

  1. Webové aplikace – přes webové rozhraní ovládáš nějakou aplikaci, například Google Documents. Jde o programy, které běží na webovém prohlížeči.
  2. Mobilní aplikace – uživatelé si aplikace stahují do mobilů (Instagram, Spotify).
  3. Desktopové aplikace – staré dobré programy, které každodenně spouští na počítačích miliony uživatelů aniž by k tomu potřebovali internetové připojení.

Co mají webové, mobilní a desktopové aplikace společného? Všechny se dají vytvořit v Pythonu.

Na vývoj webových aplikací, tedy toho, co běží na serveru,je Python skutečný machr. Nejenom, že přijímá požadavky z počítačů klientů, stará se o jejich zpracování, vyhledává informace v databázích, Python také odesílá odpovědi. A to vše v řádu mikrosekund.

Zní to 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. Veškeré procesy – rozhodování, jakou akci spustit, posuzování požadavku a pokyn serveru, které informace zobrazit uživateli – během té chvilky má na svědomí spolupráce web serveru a Pythonu. Jistě, tyto úkony by zvládly i jiné programovací jazyky, ale málokterý je tak efektivní a jednoduchý jako Python.

Python používají největší firmy světa

Co mají společného Pinterest, YouTube, Bitbucket a Instagram? Všechny jsou napsané 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. Ale bez Pythonu bys spoustu webů ani nerozjel.

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 umožňuje strojům učit se ze svých zkušeností. 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í aplikaci v Pythonu, která všechny možné scénáře prověří a vyhledá bugy místo vás. 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 huby. Python není mistr světa omeleta. 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. A jak s ním začít? To si přečteš už brzy v dalším díle seriálu.