Začněte skutečně využívat počítač. Programujte ho

Zařízení, na kterém čtete tento článek, se už dávno proměnilo v běžnou spotřební elektroniku. Jeho skutečný potenciál odhalí pouze ti, kteří ho umějí opravdu používat – tedy programovat.

Zeptám-li se svých přátel, jestli umějí programovat, zpravidla na mě udiveně vytřeští oči a odseknou, že přece nestudovali fakultu informatiky. Pokaždé pobaveně odpovím, že to já také ne a přesto jsem za svůj krátký život napsal desítky programů. Zpravidla pak zcela chybně pokračují a ptají se, jak je tedy možné, že už dávno nejezdím v červeném Porsche a na zahradě mi nestojí třípatrový bazén s klimatizací. Já je kupodivu stále dokola šokuji tvrzením, že tyto programy  neprodávám, že by je ani nikdo nechtěl a že vlastně pouze používám počítač k tomu, k čemu je odjakživa určený. K počítání.

Mohlo by vás zajímat:

Počítač ovládáme pomocí všemožných instrukcí. Zatímco před třiceti lety zadávali lidé počítači instrukce ve formě alfanumerických příkazů, dnes namísto toho pohybujeme po obrazovce myší, klepáme na tlačítka a dotýkáme se prstem displeje. V podstatě je to ale jen jiná forma téhož.

GitHub.png
Popularita programovacích jazyků u nově zakládaných projektů na jednom z nejpopulárnějších skladišť zdrojových kódů GitHub

Pokud spojíte několik takových textových instrukcí dohromady, získáte jednoduchý program – třeba na rychlé vypnutí počítače. Podobným programem je i souhra pohybů ruky, která s myší zajede ve Windows 7 do levého dolního rohu, ukazováček stiskne levé tlačítko, zobrazí se nabídka Start, ruka se posune s myší o pár centimetrů doprava, ukazováček opět stiskne tlačítko a počítač se vypne. Heuréka! Pokud bychom tuto operaci rozepsali do jednotlivých elementárních instrukcí, bude jich poměrně dost.

Ovládáte rodný jazyk? Ten programovací je jednodušší

Lidé se často bojí programovat a programovací jazyky považují za něco nesmírně složitého. Faktem ale zůstává, že ovládnutí základních principů třeba dnes populárního Javascriptu je mnohonásobně snazší než studium angličtiny, kterou na nějaké úrovni ovládá každý žák základní školy. Javascript má primitivní slovní zásobu a slovosled, gramatiku se naučíte po několika chybových hlášeních a hlavně tu nejsou žádná vyjmenovaná slova, shoda podmětu s přísudkem a s/z.

Dobrá, dejme tomu, že si osvojíte základní gramatiku Javascriptu, načež mi ale namítnete, že nejste schopni napsat jediný algoritmus – jednoduše vám nejde stylistika a nevíte, o čem psát. A to je nakonec jediný skutečný rozdíl mezi domácím programujícím uživatelem PC a profesionálním vývojářem.

Oba dokážou psát, ale zatímco ten první sesmolí třeba jen pohlednici k Vánocům, ten druhý dokáže napsat velmi čtivý a dějově propracovaný román. Podstatné je nicméně to, že přečtete oboje. A stejně tak počítač zpravidla spočítá jak výborný, tak i škaredý algoritmus, pakliže v něm nejsou hrubky.

Wifileaks.png Wifileaks.png
Před dvěma lety jsem chtěl zjistit, kolik je v Česku Wi-Fi sítí. K zaměření 1,3 milionů veřejných, domácích a firemních hotspotů mi stačily základní znalosti programování Androidu a tisícovka dobrovolníků.

K čemu ale v domácích podmínkách znalost programování vlastně využít? Mnoho lidí si programování spojuje pouze s komerční tvorbou. Osoba A programuje, poněvadž chce vyvinout aplikaci pro telefon a vydělat na ní balík. Osoba B programuje, poněvadž chce založit startup a osoba C programuje, poněvadž chce získat velmi dobře placené místo.

Programování je skutečné používání PC

Já ovšem neprogramuji ani z jednoho z těchto důvodů. Programuji proto, abych si zjednodušil práci a vyřešil problém X. Tím byl v minulosti třeba složitý domácí úkol z fyziky, který ostatní dlouhé hodiny počítali pomocí svých jednořádkových kalkulaček, zatímco mně jej během okamžiku vyřešila úžasná síla tehdejšího Pentia.

Stejně tak jsem programoval telefon ve chvíli, kdy jsem chtěl zjistit, jestli je hrbolatější silnice, nebo sousední cyklostezka, poněvadž jsem se chtěl dopídit toho, jestli si své kolo při každodenní jízdě do práce zničím spíše na té, či oné komunikaci.

Třesoměr.png
Pro běžného uživatele je chytrý telefon placka s hromadou aplikací. Pro programátora je to velmi výkonný počítač s hromadou senzorů, které lze ovládnout. Když jsem tedy chtěl změřit otřesy při jízdě na kole, prostě jsem si to naprogramoval...
Třesoměr.png
... abych zjistil nepříjemnou skutečnost, že při jízdě po jedné z brněnských městských cyklostezek si kolo ničím více než při jízdě po silnici o pár metrů dál.

Elementární znalost programování vám jednoduše dává prakticky neomezené kreativní možnosti a vy můžete na svém počítači spočítat bez nadsázky jakékoliv možné problémy. Pokud ale programovat neumíte, jste omezení tím, co dokážou vaše nainstalované aplikace, stejně jako je negramotný člověk omezený tím, jestli mu někdo přečte kritický nápis na dveřích: „Pozor! Nefunguje splachování.“

Picasa.png
A ještě jeden příklad domácího programování: Fotografie hostuji na Picasa Web Albums (dnes Google+). U snímků, které mají 100 a více zobrazení, se tento údaj zobrazí ve vlastnostech. Pokud však budete chtít zjistit návštěvnost celého alba a galerie, musíte tato čísla ručně sečíst. Anebo se seznámíte s Picasa Web Albums Data API, použijete některou z připravených knihoven a vytvoříte si jednoduchý program jako na obrázku výše, který analyzuje fotku po fotce a za pár minut vyplivne souhrnnou návštěvnost.

Mocný Google Apps Script pro každého

Krásným příkladem programovacích možností pro začínající domácí vývojáře jsou dnes třeba jazyky pro kancelářské balíky. Programovat a tedy funkčně rozšiřovat můžete jak Office od Microsoftu, tak svobodné LibreOffice a OpenOffice.org. Ještě zajímavější je ale webová kancelář Googlu, která nabízí programovací systém Apps Script, tedy Javascript rozšířený o spoustu knihoven. Apps Script je velmi jednoduchý, nabízí do začátku vše potřebné a jako běhové prostředí nakonec slouží servery Googlu a jeho samotné služby.

Na webu Labnol.org najdete výběr 37 zajímavých aplikací pro Apps Script

Pro běžného smrtelníka je Apps Script velmi užitečný třeba s tabulkovým procesorem od Googlu. I s elementární znalostí tohoto prostředí během deseti minut vytvoříte maličký program, který poběží na serveru Googlu a periodicky bude kontrolovat třeba dostupnost vlastního webu. Když bude web nedostupný, uloží informaci s časovým údajem do tabulky a třeba vám i pošle e-mail.

Apps Script.png Apps Script.png
Tento program pro Apps Script stáhne kurzovní lístek ČNB, vybere 7. řádek, na kterém je kurz eura, vytáhne z řádku číselnou hodnotu a společně s aktuálním časem ji vloží do svázaného tabulkového dokumentu. Apps Script samotný se pak postará o to, aby se program spouštěl každou minutu. To je v tomto případě zbytečné, ale ukazuje to nesmírné možnosti dlouhodobého zpracovávání dat pomocí tohoto systému.

Jiný program zase může třeba periodicky kontrolovat poštu na Gmailu a třeba automatizovaně zpracovávat přílohy a složitě odpovídat. Na to vše najdete v Apps Scriptu speciální knihovny, které udělají hromadu operací za vás, takže i v tomto případě může být výsledkem velmi jednoduchý kód, který zvládne napsat naprosto každý, aniž by to byl zrovna doktor Sheldon Cooper.

  Apps Script.png Apps Script.png
Předchozí program na ukládání kurzu eura jsem upravil do podoby vlastní převodní funkce, kterou mohu použít v tabulkovém procesoru. Aby to nebylo zdlouhavé, při prvním zjištění aktuálního kurzu ze serveru ČNB se hodnota uloží do mezipaměti, kde vydrží 6 hodin. Primitivní kód o několika málo řádcích.

Kouzlo programování tedy spočívá v tom, že kdo jej na jakékoliv úrovni ovládne, vrací se opravdu ke kořenům výpočetní techniky, k podstatě věci, a na stole bude mít už navždy kouzelnou skříňku, která mu spočítá každé přání. Pokud se jako domácí uživatel naučíte základy současných programovacích jazyků, na mnoho úkonů už příště nebudete hledat speciální aplikace a studovat jejich používání. Prostě si to řešení sami naprogramujete, ať už to bude skript na jedno použití, mobilní aplikace, která bude pracovat s daty ze senzorů nebo třeba něco mnohem většího, co vytíží všechna jádra vašeho výkonného desktopu.

Programátoři budou jednoduše vždy napřed, poněvadž opravdu umějí ovládat počítač.

Diskuze (188) Další článek: Hesla lze krást pomocí vestavěné kamery a mikrofonu

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,