Menu

Zemřel tvůrce jazyka C a spolutvůrce Unixu

14.10.2011 13:31 | Redakce Chip
Zemřel tvůrce jazyka C a spolutvůrce Unixu
Osmého října, doma, po dlouhé nemoci.

Dennis MacAlistair Ritchie strávil celý svůj pracovní život v Bell Labs (Bell Telephone Laboratories), kam nastoupil v roce 1967 jako absolvent Harvardu a odkud odešel na odpočinek v roce 2007. Bell Labs se za tu dobu mnohokrát přejmenovaly nebo reorganizovaly, ale zpravidla se proto Dennis nemusil stěhovat ze své kanceláře…

Tento skromný člověk se proslavil co tvůrce programovacího jazyka C, jenž se stal „standardem“ v systémovém programování — tedy v psaní softwaru obslužného, v tom nejširším smyslu, jenž umožňuje, že počítače (v jakékoli podobě) nejsou jen mrtvým hardwarem.

V C lze samozřejmě programovat cokoli, na programování aplikační je to však jazyk poněkud „spartanský“. Má proto pokračovatele anebo odnože: C++, objektové C… na jeho dědictví navazuje Java nebo C# („sí šarp“). Jeho způsob zápisu a konvence ovlivnily takřka vše výrazné, co přišlo po něm, včetně webového JavaScriptu.

Shrneme‑li kód napsaný v C, C++, v objektovém C, v C# a v Javě, zahrneme tím patrně naprostou většinu dnes užívaného softwaru. Nejen operační systém i prohlížeč, ve kterém toto právě čtete, nebo software vašeho telefonu — v C byl nejspíše naprogramován i router, skrze který jste možná právě připojeni k internetu, a v C byla snad naprogramována i vaše automatická pračka… Kdokoli dnes vyrobí jakýkoli procesor nebo automatizovaný programovatelný systém, na předním místě se stará o to, aby pro něj měl překladač jazyka C (popřípadě jazyka odvozeného).

Jazyk C je úzce provázán se vznikem Unixu — rovněž milníkem a „standardem“, a to operačního systému. Většina z vás toto čte ve Windows, ale v ostatních vašich (výše nastíněných) zařízeních je pravděpodobně nějaká obdoba nebo pokračování Unixu — je mnohem snazší využít hotového a známého základu, než znovu vymýšlet lepší kolo. Taktéž skoro celý Internet „chodí“ na nějaké obdobě Unixu.

Unix je duchovní dítě Kena Thompsona, kolegy Dennise Ritchieho z Bell Labs. (Ken převzal to potřebné z tehdy příliš složitého Multicsu.) Unix byl zprvu napsán (v letech 1968—1969) ve strojových instrukcích (v assemberu; pro PDP‑7), jež nejsou mezi různými platformami přenositelné. Kromě toho se v nich programuje obtížně a pracně, a je takřka nadlidské vyznat se v takových programech.

Dennis Ritchie (vstoje) a Ken Thompson u počítače PDP‑11.
Dennis Ritchie (vstoje) a Ken Thompson u počítače PDP‑11.

Aby šlo pro Unix programovat snáze, a posléze proto, aby jej šlo přenést na jiné počítače, bylo nutno mít jazyk, který od specifických instrukcí pro určitý počítač abstrahuje — umožňuje týž symbolický zápis přeložit pro počítače různé.

Jenže žádný ze stávajících vyšších jazyků se výzkumníkům z Bell Labs nezamlouval, nebo nevyhovoval jejich možnostem, a tak potřebovali vlastní. Vyšli z BCPL (vyvinutého v polovině 60. let na MIT), jejž Ken Thompson nejprve upravil a zjednodušil na jazyk B. Vzniklo v něm pro prvotní Unix několik základních nástrojů, ale na přenos Unixu na jiné počítače nedostačoval — byl příliš omezený (a příliš svázán se zvláštnostmi počítače PDP‑7, pro který vznikl).

Dennis Ritchie proto začal B (od roku 1971) postupně rozšiřovat a vylepšovat (především mu dodal typy), až dospěl (v letech 1972—1973) k novému jazyku, pro který vymyslil nové jméno — C. Unix do něj mohl být přepsán v létě 1973 (pro počítač PDP‑11).

Poté vznikly překladače i pro další tehdejší počítače a byl na ně přenášen Unix, a tak získané zkušenosti tlačily na další vývoj jazyka C. Ten se nezastavil ani po prvním knižním vydání příručky v roce 1978 (známé pod zkratkou K&R — ze jmen autorů, Kernighan a Ritchie).

Unix i C se ukázaly obrovským a předem netušeným úspěchem. C byl prvním jazykem, který se výrazně prosadil na programování přenositelných systémů — v podstatě dokázal, že je to praktické, a Unix byl prvním systémem, který se rozšířil díky své přenositelnosti — díky jazyku C. V osmdesátých letech se tento tandem stal ve výpočetní technice téměř všudypřítomným, ačkoli jazyk C se od Unixu osvobodil a prosadil se i mimo něj. To díky tomu, že byl navržen tak, aby nezávisel na žádném určitém systému.

Dennis M. Ritchie
Dennis M. Ritchie

Dennis M. Ritchie sám připouští, že C není dokonalý a má své vady. Rozšířil se ne proto, že by byl bezchybným počinem akademickým, nýbrž proto, že vyhověl praktickým potřebám své doby, a to mimo jiné co jazyk nevelký a snadno implementovatelný.

Na Unixu i na C bylo vždy co vylepšovat, a tento proces pokračuje podnes. Jejich dědictví a jejich současné inkarnace jsou všude kolem nás. Lze si jen těžko představit, jak by moderní počítače (ve všech svých podobách) vypadaly bez nich. Přestože běžnému uživateli jsou tyto „vnitřnosti“ skryty, a vlastně je tím spokojenější, čím méně o nich ví.

Zajímavosti ze světa IT v e-mailu

Stačí odeslat svoji e-mailovou adresu


Odesláním formuláře souhlasíte se zpracováním svých osobních údajů a užitím pro marketingové účely vydavatelství Burda Praha, spol. s.r.o.

Předplatné / nákup chipu Digitální edice chipu Aktuální vydání