Jak vypadá budoucnost programování?

30. 12. 2017

Sdílet

 Autor: © Ch_Alexandr - Fotolia.com
Někteří vědci tvrdí, že čas plyne vpřed konstantní rychlostí. Ti chytří tvrdí, že se vše mění při rychlostech blízkých rychlosti světla. Nic z toho však nevysvětluje zvyšující se rychlost změn ve světě technologií. Pokaždé, když se podíváte, vidíte další a další zrychlování.

Pokud chcete vědět, na co vsadit v oblasti vývoje, vypadá pětiletý výhled jako pouhé dohady. Předvídání technologické budoucnosti je téměř nemožné, natož pak předvídání dovedností a nástrojů relevantních pro inovace, které se objeví.

Existují však náznaky, kterých si lze v dnešním technologickém prostředí všimnout – jakési záblesky budoucnosti programování v mlze budoucnosti.

Přinášíme seznam odhadů budoucnosti programování na základě současných nejzajímavějších vývojových technologických trendů. Ne všechny se musejí splnit, a dokonce ani není záruka, že budou nové.

Mnoho z nich jsou trendy, které se začaly vytvářet před několika lety. Pokud si tento seznam srovnáte s předchozími prognózami, můžete najít rozdíly. Navzdory tomu však tyto předpovědi nabízejí solidní pomoc pro plánování přípravy na budoucnost, jak se před námi stále rychleji vynořuje.

 

Předpověď č. 1: REST ovládne internet věcí

Protokol REST zvítězil na webu a udrží si svou dominanci, protože každý termostat, zámek dveří a kuchyňské vybavení se zřejmě stanou plnohodnotným prvkem internetu schopným komunikovat prostřednictvím paketů. Neslyšeli jste přece o SCSI, USB či SATA věcí, nebo snad ano?

Důvody jsou zřejmé. Programátoři milují jednoduchost protokolu REST. Díky své základní architektuře je protokol REST snadno pochopitelný a umožňuje relativně snadné ladění.

Neexistuje nic takového jako udržování všech dat v textové podobě, aby bylo mnohem jednodušší přijít na to, co se děje. Ať vás tedy nepřekvapí, že nová bezpečnostní kamera, mikrovlnná trouba nebo jiné zařízení budou využívat server Nginx komunikující na portu 80 a budou předávat informace prostřednictvím standardů HTML a CSS.

 

Předpověď č. 2: Opět se objeví binární protokoly

Předávání dat tam a zpět v paketech JSON pomocí protokolu REST může být jednoduché, alespoň ve srovnání se starým světem dat XML a jeho 90procentní režií tagů, ale někteří velmi efektivní programátoři se diví, proč musí konvertovat binární data na řetězec, aby mohl být správně zpracovaný pomocí formátu JSON, když nakonec na druhé straně dojde zase k analýze řetězce a jeho převodu zpět na bajty.

Proč tedy neposílat bajty přímo – zejména v případě, když internet věcí bude posílat stále jen několik málo bajtů dat?

Vytváření dalších binárních protokolů bude náročné. Standardy HTTP jsou v podstatě textové. Mnoho programátorů mělo špatné zkušenosti s proprietárními binárními protokoly, které bylo možné rozbalit jen speciálními knihovnami, které v některých případech nebyly spolehlivé.

Otevřenost formátu JSON a protokolu REST zvítězila, ale to neznamená, že by otevřený přístup k binárním protokolům nemohl přinést efektivitu otevřeným standardům. Internet věcí bude generovat více dat než dříve a mnoho zařízení bude využívat množství malých paketů vyžadujících přísnější kódování. Když bude potřebný výkon, začnou programátoři hledat způsoby, jak přidat více binární efektivity do svých paketů.

 

Předpověď č. 3: Video překoná hvězdné HTML

Kdysi jsme surfovali na webu, přecházeli z webu na web, hltali texty a klikali na odkazy, kdykoliv jsme se chtěli dozvědět něco více. Nyní máme divácké orgie trvající celé hodiny, nebo dokonce dny – a když dojdou epizody, zvedáme se z pohovky vyčerpaní a otupělí.

Pokud vůbec saháme na klávesnici, je to z důvodu zjišťování podrobností o zpřístupnění dalších filmových dílů na videostreamech. Internet se mění na televizi a datové proudy videa nahrazují interaktivní textové rozcestníky kontinuálním tokem, který myslí za nás.

Není to úplně pravda a někteří dokonce prohlašují, že internet je osvobozenou televizí. Lidé svačí u televizních klipů na některých webech. Nemám tušení, jestli se některé pořady stále vysílají v televizi v sobotu v noci, nebo jestli se vůbec natáčejí před živým publikem, ale vím, že můžu vidět každou část v samostatném klipu na webu.

U toho všeho však gaučový povaleč nemusí dělat nic kromě sledování měnícího se obrazu. Charakterizující je minimum klikání a téměř žádné řízení. Možná že příští generace videoaplikací přidá další vrstvu a zlepší nástroje, které zde již jsou.

Smrt technologie Flash a nástup HTML5 otevírá možnosti slučování videoklipů pomocí standardu HTML. Možná že programátoři mohou využít některé z těchto příležitostí. Do té doby budou uživatelé sedět a sledovat televizi v podstatě stejným způsobem jako naši prarodiče za starých časů zrnitého obrazu, přestože půjde o vysílání přes internetového giganta, a ne přes několikapísmennou národní vysílací společnost.

 

Předpověď č. 4: Smartphony se budou používat pro vše možné snad kromě hovorů

Telefonuje ještě vůbec někdo přes smartphone? Posíláme SMS zprávy, čteme e-maily, surfujeme na webu – a to je jen začátek. Ty malé obdélníkové obrazovky mění každou část našeho života již více než deset let a tyto změny začínají být zajímavé. Jak přidáváme další senzory a hledáme chytřejší využití pro mikrofon, kameru a akcelerometr, nejdou žádný obor podnikání či koníček v bezpečí.

Vzpomeňme si na starý svět, ve kterém byla lékařská péče poskytovaná v ordinaci doktora poté, co jste v ní čekali několik hodin. Existují stovky začínajících firem, které hledají způsob, jak proměnit smartphone na zdravotnický přístroj.

Mikrofon může snímat váš srdeční tep. Kamera se vám může podívat do krku. Akcelerometry mohou sledovat vaše cvičení. Všechny tyto informace lze propojit se sítí doktorů, kteří předají váš případ někomu, kdo se specializuje na vaše potíže.

Nová generace chytrých zařízení způsobí, že ta současná začnou vypadat jako úplně základní. Navigační aplikace se mění na aplikace pro rezervaci cesty a plánování, které zvládnou vše kromě řízení auta.

Aplikace pro sledování cvičení se stávají nástroji, které sledují všechny rytmy našeho těla – od spánku až po práci. Možná se ještě najde někdo, kdo bude dělat aplikace, které mají co do činění se skutečností, že tato zařízení lze používat pro telefonování.

 

Předpověď č. 5: Budou převládat větší a lepší databáze

Samozřejmě že vyhledávače indexují web, ale už nyní existují databáze, které indexují svět sám, a to díky zvyšující se poptávce příští generace aplikací zohledňujících kontext a autonomních automobilů.

Aplikace jako třeba Waze sledují pohyb všech svých uživatelů a poskytují svým vývojářům a uživatelům mapu světa tak, jak existuje, a ne jak byl zakreslen kartografem hledícím na letecký snímek. Když nějaká parta lidí zablokuje pruh, dozvědí se o tom. Když dopravu zastaví kráva, také se to dozvědí. Když se někde přidá nová cesta, zjistí to dříve než většina ostatních.

Úroveň podrobností z takových databází bude úžasná. Autonomní automobily budou například muset znát pozice sloupů veřejného osvětlení, výdejních automatů s novinami a požárních hydrantů, pokud budou chtít být připravené na situace, kdy příslovečné dítě začne honit míč po silnici.

Tato data budou plná neobjevených příslibů sahajících svým významem mnohem dále než jen k autonomním vozům. Města budou moci opravovat povrch silnic v čase a místě, jak to bude potřeba. Pouliční světla bude možné snadno opravit v případě poruchy. A ano, policie bude mít více dat než kdy dříve o lidech kráčejících po ulicích.

Brzy budeme mít databáze zaznamenávající polohu každého výmolu po celé zemi. Budou je města opravovat? To by mohlo být pro tuto generaci už příliš mnoho, ale přicházejí roboti.

 

Předpověď č. 6: JavaScript bude dominovat, ale nikdo v něm nebude psát

Pokud nebudeme psát v JavaScriptu, tak kdo tedy bude? Odpovědí na otázku „kdo“ je „roboti překládající kód“. Budeme psát svůj kód, pokud vůbec, v některém z desítek jazyků a roboti zajistí jeho překlad do něčeho, čemu budou prohlížeč nebo Node.js rozumět. Stále více a více kódu na GitHubu nemůže běžet, aniž dochází k jeho další „kompilaci“.

Nejvýznamnějšími jsou jazyky šetřící námahu, jako například CoffeeScript, které odstraňují většinu interpunkce obtěžující některé programátory. Existují desítky alternativ ke CoffeeScriptu, jako jsou např. Coco, IcedCoffeeScript a CoffeeScript II: The Wrath of Khan.

Je to jen začátek, protože chytří programátoři napsali transkodéry pro jazyky tak odlišné, jako jsou například Cobol, Java, Lisp a C. Všechny nyní mohou běžet ve vašem prohlížeči poté, co dojde k jejich pečlivému překladu a optimalizaci pro rychlý přenos a analýzu.

Proč vlastně psát v jazyce JavaScript, když to může váš softwarový robotický sluha překládat z vašeho oblíbeného jazyka?

 

Předpověď č. 7: PHP se utká v souboji s Node.js

... ale jen za účelem ochrany starých aplikací před nutností přepsání. Před několika lety to vypadalo, že PHP postupně zmizí, jak Node.js a JavaScript postupně pohlcovaly serverové farmy.

To se stále může stát, ale PHP to nevzdá bez boje. Nejnovější verze nástrojů just-in-time, jako jsou PHP 7 a HipHop Virtual Machine, nabízejí výrazně vyšší výkon. Z tohoto důvodu běží kódová základna jako např. WordPress a Drupal o 30, 40, 50 nebo dokonce o 100 procent rychleji.

To sice nemění jiné výhody, které nabízí JavaScript při návrhu projektů (např. možnost spustit stejný kód v prohlížeči a serveru), ale odstraňuje to jeden z hlavních důvodů pro opuštění staré základny kódu napsaného v PHP ve prospěch Node.js. Tyto staré platformy nakonec naberou nový dech.

 

Předpověď č. 8: Každý bude umět programovat, ale jen někteří budou psát „skutečný kód“

Vzdělávací projekty vedou k výuce každého v psaní softwaru. Nedávno strávil prezident Obama hodinu času učením se, jak napsat řádek kódu, namísto řešení situace na Blízkém východě a boji s terorismem. Pomohla jeho aktivita snáze zprovoznit novou verzi webu Obamacare?

Posedlost učit programovat každého, možná jednou i naše psy a papoušky, bude v příštích letech pokračovat. Nejlepší strategií pro opravdové programátory je usmívat se a povzbudit je. Čím více se většinová populace bude snažit programovat, tím více si uvědomí, jak těžké je skloubit všechna ta čísla, rozhraní API a já nevím co ještě.

Je jedna věc napsat řádek kódu, jako to udělal prezident Obama. A zcela něco jiného je vytvořit celý systém s tisíci, ne-li miliony řádků kódu.

Budou tací, kdo si vyberou jazyk a dosáhnou velkých úspěchů, ale mnozí si budou rvát vlasy a tiše kvílet. Kdokoliv může napsat smyčku, ale jen málokdo dokáže vybrat tu správnou smyčku. Každý se v dětství naučil řezat dřevo, ale stále voláme tesaře, aby nám stavěli domy.

 

Předpověď č. 9: Někteří šéfové budou ještě více nesnesitelní

Už to mají za sebou. Manažeři se naučili psát software na jednom z rychlokurzů a nyní chtějí pomáhat.

„Použiješ tam proměnnou?“ uslyšíme. „Myslíš, že má smysl použít konstantu? Hádám, že tady budeš chtít použít smyčku.“

Jen se na ně usmějte a poděkujte jim. To je všechno, co můžete udělat.

bitcoin_skoleni

 

Tento příspěvek vyšel v Computerworldu 1/2017. Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.