IN CODE WE TRUST
Asi není nutné na tomto místě pochybovat o známém rčení „Kolik jazyků umíš, tolikrát si člověkem“. Zamysleme se ale konkrétněji, o jakých jazycích v tomto případě mluvíme. Předpokládám, že se shodneme na tom, že se v první řadě jedná o přirozené jazyky, které ve většině případů definují příslušnost člověka ke konkrétní skupině lidí.
Francouzský psychoanalytik Jacques Lacan dokonce tvrdil, že i naše nevědomí je strukturováno podobně jako náš jazyk. Jazyk tedy sehrává v životě člověka zásadní roli – jenom mu musíme porozumět. Díky jazyku tak komunikujeme, strukturujeme a sdílíme svoje myšlenky, poznáváme minulost a uvažujeme o budoucnosti. Aktuálně je na světě zmapováno více než 7 000 jazyků.[1] Až třetině z nich však hrozí vymizení. Tomuto faktu čelíme nejen v důsledku rozmáhající se globalizace, která preferuje použití určitých jazyků před jinými, ale i díky tomu, že naučit se nějaký jazyk, porozumět mu a aktivně ho začít používat, je poměrně náročný a komplikovaný proces. Poskočme o úroveň dál a zkusme si položit jinou otázku: a co programovací jazyky, řadíme je také do této skupiny? Podle Wikipedie jich máme již více než 700![2] Ačkoliv je to stále jenom desetina počtu přirozených jazyků, stávají se nástrojem řízení společnosti, nejen co se výrobních procesů týče, ale taky lidí a organizace jejich života.
Programování je jedním z určujících faktorů změn, které se odehrály na přelomu milénia. Když si uvědomíme kolik kódu, který vznikl díky programovacím jazykům, se dnes používá a existuje, je nám jasné, jak důležitou roli sehrávají počítače v našem životě. Přistání na Měsíci, internet, autonomní vozidla – nic z toho by nebylo bez počítačů a kódu, který je řídí. Tento kód coby text má jednu specifickou vlastnost, a to, že jeho funkcí je exekuce – je vytvořen tak, aby spouštěl a prováděl procesy. Kód a algoritmus jsou nástroje, které je dobré znát, ještě lepší ovládat, ale důležité je taky o nich kriticky uvažovat – kriticky je číst nejenom v jejich materiální podstatě, ale právě taky v rovině sociální a politické jako nástroj a prostředek sociálních změn.
Algoritmus
Všechno začíná a končí u algoritmu – je alfou a omegou programování. V principu se jedná o návod, postup, jakým vyřešit konkrétní úkol. Uvažování v algoritmech umožňuje vytvořit zadání, které je následně provedeno. Jedná se o manipulaci složenou z jednotlivých, postupných kroků, které jsou jasně a zřetelně definované. Je koncipován tak, že vždy vede k nějakému konci, tedy k námi specifikovanému výsledku. Algoritmus je ve své podstatě obecnou veličinou, kterou až aplikace v daném programovacím jazyce vede ke konkrétnímu výsledku. Nejzásadnější na celé věci je fakt, že je možné tyto operace provádět nespočetněkrát, a tak se algoritmy staly základem automatizace mnoha procesů.
Od kódování k programování
Programování je v principu zadávání algoritmů do konkrétního programovacího jazyka, který slouží ke komunikaci s počítačem. Tímto procesem tvoříme počítačové programy neboli software, který je základním prostředníkem mezi člověkem a hardwarem počítače. Hello world byl jedním z prvních programů napsaných v programovacím jazyku. Jeho spuštěním se na monitoru zobrazil nápis „Hello world“ – program realizuje to, co po něm chtěl jeho autor (programátor). Kód obecně představuje systém pravidel převádění informací do jiné formy reprezentace. Teoretik médií Florian Cramer připomíná, že spustitelný kód existoval už před vynálezem počítače (uvádí Kabalu, hudební kompozici a experimentální poezii).[3] V rámci teorie se můžeme přesunout od kritických studií kódu (critical code studies)[4], která zkoumají jeho samotnou podstatu, ke zkoumání softwaru a jeho vlivu na společnost (software studies)[5].
Je třeba reflektovat fakt, že se počítačový kód stal neodmyslitelnou složkou naší civilizace. Samozřejmě i nadále je možné žít bez něj, ale tato představa se stává víc a víc utopickou. Počítače a speciálně internet mění způsob, jakým žijeme. Počítačová gramotnost tak podle mého názoru začíná ovládáním a následně programováním softwaru. Dalším krokem by však mělo být přemýšlení o počítačové kultuře – snažit se ji pochopit a nejenom v ní žít. Facebook, Google, Reddit nebo Tor nejsou jenom názvy, ale služby, které ovlivňují to, jak komunikujeme a sdílíme informace, jak uvažujeme o věcech, organizujeme svůj čas nebo ho prostě trávíme.
Začínáme
Existuje několik možností, jak začít s programováním u těch nejmenších. V tomto směru stojí za zmínku projekt, za kterým stojí finská programátorka a ilustrátorka Linda Liukas: Hello Ruby (http://www.helloruby.com/). Na globální úrovni existuje projekt Hodina kódu, kterého se účastní desítky milionů žáků ze 180 zemí světa včetně České republiky (https://hourofcode.com/cz). LEGO, primárně známé díky svým stavebnicím, učí programovat nejmenší děti v rámci projektu LEGO WeDo 2.0. Za zmínku stojí projekt Czechitas, jehož cílem je budovat komunitu holek se zájmem o IT (http://www.czechitas.cz/). Ale co kritická reflexe? Bavíme se s dětmi o tom, jak se chovají v online prostředí a jak na ně působí?
Domnívám se, že v budoucnosti nebudeme při odpovědi na otázku „Kolik znáš jazyků?“ počítat jenom přirozené jazyky. Považuji za důležité neupadnout do začarovaného kruhu, kdy nemluvíme s nastupující generací o počítačové kultuře jenom proto, že jí sami skoro vůbec nerozumíme. Je možné, že právě tato naše nevědomost by mohla být motorem zájmu o to, naučit se nejenom psát a mluvit novým jazykem, ale taky kriticky uvažovat o jeho působení na nás a náš každodenní život.
Na závěr přidám něco málo statistiky, která přibližuje aktuální rozsah světa počítačového kódu:[6]
- Americká armáda potřebuje na ovládání dronu kolem 3,5 milionu řádek kódu.
- Prohlížeč Google Chrome tvoří přibližně 6,7 milionů řádek kódu.
- Operační systém Android tvoří 12–15 milionů řádek kódu.
- Large Hadron Collider (LHC v Cernu) využívá něco kolem 50 milionů řádek kódu.
- Facebook = cca 62 milionů řádek.
- Google a všechny jeho služby = odhaduje se, že tyto tvoří 2 miliardy řádek kódu.
- A co třeba Bible? Tu tvoří přibližně 3,5 milionu písmen uspořádaných do cca 780 000 slov.
#incodewetrust
[1] Více informací na: http://www.linguisticsociety.org/content/how-many-languages-are-there-world
[2] Celý seznam je dostupný na: https://en.wikipedia.org/wiki/List_of_programming_languages
[3] Florian Cramer: Words Made Flesh dostupná ke stažení na: https://www.netzliteratur.net/cramer/wordsmadefleshpdf.pdf
[4] Texta Marka C. Marina: Critical Code Studies dostupný na: http://www.electronicbookreview.com/thread/electropoetics/codology
[5] Více informací naleznete zde: https://monoskop.org/Software_studies
[6] Více informací naleznete zde: http://www.informationisbeautiful.net/visualizations/million-lines-of-code/