Lukáš Kotek: Občasník

Dennis Ritchie a jeho odkaz

(aneb bohužel mírně upozaděné výročí)

Lukáš Kotek - Ne 11 října 2015 - technologie, komentare

Předně: Je to smutné výročí. 12. října 2011 zemřela jedna z nejvýznamnějších osobností v oblasti informačních technologií, Dennis Ritchie, mj. matematik, vývojář, profesor na MIT. Bohužel se tak událo ve stínu smrti jiného člověka, který by (paradoxně) pravděpodobně bez Ritchieho práce byl dnes patrně marginální postavou. Proč zmíněné superlativy? Pojďme na to krok za krokem.

Programovací jazyk C

Ritchie je autorem programovacího jazyka C. Neznamená to, že by v dané době již neexistovaly jiné programovací jazyky, naopak, byla jich plejáda (namátkou Basic, Fortran, …). C však bylo postaveno na do značné míry unikátní myšlence. Jeden zdrojový kód mělo být možné zkompilovat na více platformách, samotný jazyk neměl být závislý na konkrétní hardwarové platformě. Zní to naoko triviálně a samozřejmě, ale opravdu není. Na přelomu 60. a 70. let tedy jistě ne. Tato vlastnost umožnila sdílet programátorům podstatné části kódu mezi různými platformami, aniž by je bylo nutné znovu přepisovat.

Jazyk C se v průběhu let samozřejmě vyvíjel, nicméně i dnes se jedná o jeden z nejpoužívanějších jazyků. Stačí letmo nahlédnout například na Tiobe index, který, ač není dokonalý, pro představu stačí. Většina operačních systémů je napsána v C, stejně jako základních systémových utilit a kompilátorů či virtuálních strojů jiných jazyků. C je ale výjimečný mnożstvím dalších programovacích jazyků, které ho buď přímo dále rozvíjely (C++, Objective C), čerpaly z jeho nadčasové syntaxe (Java, PHP, Javascript) nebo třeba jen sémantiky (Python). Bez těchto jmen (a jedná se jen o stručný výčet z obrovské celkové množiny) by IT vypadalo jinak a (za mě) zároveň také podstatně hůře.

Operační systém Unix

Další velká kapitola Ritchieho života se úzce váže k předchozí. Ritchie byl zásadním členem týmu, který v Bellových laboratořích firmy AT&T navrhl a posléze se věnoval vývoji operačního systému Unix (patrně nepřekvapí, že ten je z podstatné části napsán právě v C). Dnes se sice přímo s Unixem setkáme spíše zřídka (název se používá jako ochranná známka), ale z jím stanovené koncepce a zdrojových kódů vychází mnoho operačních systémů (různé varianty BSD, Solaris, HP UIX, Mac OS X), některé pak přebírají pouze koncepci jako GNU/Linux. (Lze-li vůbec říkat pouze, protože koncepce je zde onou revoluční složkou.)

Ať ale význam samotného Unixu nezanikne. Stejně jako u C, tak i u Unixu lze říci, že to byl jeden z prvních operačních systémů, který mohl být jen s malými změnami zkompilován a provozován na více zcela různých počítačích. I CP/M nasazovaný od počátku 70. let na mnoha počítačích byl vázán na mikroprocesor Intel 8080. A když už zmiňuji CP/M, nelze vynechat, že i ten z filosofie Unixu čerpal vybrané prvky. Soudobou nejvýznamnější reinkarnací Unixu je však bezesporu GNU/Linux. Servery, routery, mobilní telefony až po, řekněme, auta a pračky na něm běžně běží :-) Linus Torvalds by měl těžko na čem stavět, kdyby nebylo Andrewa Tanenbauma a jeho MINIXu, který opět čerpal z Unixu.

Co se skrývá za K&R 1978?

Tahle část je mírně osobnější, kniha Programovací jazyk C z roku 1978 od autorů Kernighana a (právě) Ritchieho je první knihou, kterou jsem kdy o programování četl. Pamatuji si strohé ASCII a prostý TXT soubor, v jakéžto formě se ke mně v českém překladu na 3,5″ disketě dostala. (Bavíme se cca o roku 2005.) Jednalo se o původní vydání (lze-li něco takového o TXT souboru říci), takže některé věci přelámat do podoby zkousnutelné pro tehdy aktuální kompilátory byla legrace. Ale co je hlavní: byla čtivá, stručná (lehce přes 200 stran), srozumitelná i vtipná. Dost možná je jedním z důvodů, proč se programování věnuji i dnes.

Zmíněná kniha se stala zároveň i první jednotící de facto normou, které se programátoři v C mohli držet. Často se proto (jak kniha, tak norma) označuje jako K&R 1978. Nechci se mýlit, ale původ slavného programátorského „Ahoj světe“, bych osobně hledal právě zde. I na tom lze demonstrovat, jak široký zásah kniha měla a jaké množství programátorů ovlivnila. O kvalitě knihy svědčí i stále nová a nová vydání knihy v průběhu posledních více než třiceti let. Soukromě na závěr přidám názor, že k popularizaci programování přispěla jako málokterá publikace a nejenom tak.

Závěrem

Osobnosti, se kterými se poměřujeme, ke kterým cítíme respekt, které jsou nám předhazovány médii, nebo ty, ke kterým prostě z nějakého důvodu vzhlížíme, se často rekrutují z oblasti podnikání, marketingu, mezi manažery velkých firem, lidé skloňují i jména některých známých ekonomů. Vlastně nic proti tomu, jistě si to mnozí opravdu zaslouží. Ale když se podíváme na extrémní případ naznačený v úvodu, nemůže být člověku jinak než líto, že lidé s enormními zásluhami jako Dennis Ritchie zůstávají širkou veřejností (tedy mimo veřejnosti odborné) takřka opomenuti.

Snaha alespoň v omezené míře tento stav změnit byla mojí motivací tento článek napsat. Bylo by možné vypočíst řadu dalších jmen hodných připomenutí (osobností Ady Lovelace počínaje), ale pro dnešek zůstaňme u Dennise Ritchieho, laureáta Turingovy ceny (aka Nobelovy za informatiku), ale hlavně člověka, díky němuž současný svět informačních a komunikačních technologií získal svou tvář.

Napsáno pro Presík — školní časopis SSPŠ.


© Lukáš Kotek 2004–2019. Proudly powered by pelican & python.