12.10.2018 16:30 | Reportáže a publicistika

Dennis Ritchie: Programátor, vďaka ktorému mohol vzniknúť macOS a Linux

ikona Dennis Ritchie
Dennis Ritchie preberá Japonskú cenu za prínos vo vývoji systému Unix. Zdroj: JapanPrize.jp

Prečítajte si o vzniku revolučných technológií, na ktorých základoch dnes stoja IT spoločnosti s hodnotou dosahujúcou miliardy eur.

Zamysleli ste sa niekedy nad tým, čo majú najznámejšie operačné systémy a programy spoločné? Ak áno, možno ste sa dopátrali k menu Dennis Ritchie. Tento pán totiž stojí za vývojom technológií, ktoré už desaťročia tvoria základ najznámejších softvérových aplikácií.

Medzi jeho diela patrí vývoj programovacieho jazyka C a podieľal sa aj na implementácii operačného systému Unix.

Práve tieto dve technológie v minulosti slúžili ako nástroje, ktoré pomáhali formovať súčasný svet informačných technológií. Ich značný vplyv pritom trvá dodnes, keďže tvoria základ mnohých operačných systémov, programov, programovacích jazykov či vývojárskych nástrojov.

Dennis Ritchie, tvorca operačného systému Unix a programovacieho jazyka C. fotogaléria / 5
Dennis Ritchie, tvorca operačného systému Unix a programovacieho jazyka C. Zdroj: JapanPrize.jp

Na jeho práci stavia aj Apple

Na práci Dennisa Ritchieho stavala napríklad aj spoločnosť Apple. Práve Unix a C boli použité pri vývoji operačných systémov z rodiny Mac OS. Rovnaké platí ja pre mobilný operačný systém iOS, na ktorého implementáciu bol použitý aj jazyk C.

Napriek týmto faktom sa úmrtiu D. Ritchieho a jeho práci venovalo omnoho menej pozornosti, ako tomu bolo práve v prípade zosnulého lídra spoločnosti Apple Steva Jobsa. Svet pritom stratil tieto dve legendy len s odstupom jedného týždňa. Steve Jobs zomrel piateho a Dennis Ritchie  12. októbra. Tento rok sme si teda pripomenuli 7. výročie ich úmrtia.

„Jobs bol kráľom viditeľných vecí a Ritchie bol kráľom toho, čo je v pozadí,“ povedal pre portál Wired deň po Ritchieho smrti Martin Rinard, ktorý pôsobí ako profesor elektrotechniky a informatiky v Massachusettskom technologickom inštitúte (MIT).  

Cesta k vývoju

Dennis Ritchie sa narodil v New Yorku v roku 1941. K voľbe svojho zamerania na informačné technológie ho zrejme motivoval jeho otec, ktorý pracoval ako vedec v Bell Laboratories. Svoje štúdium ukončil doktorandským titulom Ph.D. v roku 1968 na Harvardovej Univerzite.

Dennis Ritchie vyfotografovaný pri príležitosti fotogaléria / 5
Dennis Ritchie vyfotografovaný pri príležitosti preberania Japonskej ceny za svoj prínos vo vývoji operačného systému Unix. Zdroj: Japanprize.jp

Ešte pred ukončením štúdia však začal rovnako pôsobiť v Bell Laboratories ako výskumník v oblasti informačných technológií. Práve tam spoznal svojho neskoršieho spolupracovníka Kennetha Thompsona, spolu s ktorým vyvinul prelomové technológie.

Zrod základu moderných OS

Jeden zo základných pilierov, na ktorom stavajú dnešné moderné OS, je Unix. Tento operačný systém bol vyvinutý tímom výskumníkov z Bell Laboratories, ktorého dôležitou súčasťou boli aj Ritchie s Thompsonom.

Počiatky Unixu siahajú do roku 1964, kedy Bell Laboratories spolupracovalo so spoločnosťou General Electric a univerzitou MIT na vývoji operačného systému Multics (Multiplexed Information and Computing Service). Z tohto projektu však vedci z Bell Laboratories v roku 1969 „vycúvali“. Dôvodom mala byť rozdielna predstava členov pracovného tímu o spôsobe, akým sa má vývoj uberať. Neskorším tvorcom Unixu sa nepozdávala prílišná komplexnosť systému a jeho vysoká náročnosť na hardvér.

Ich cieľom bolo vytvoriť hardvérovo nenáročný systém, ktorý by fungoval aj na menších počítačoch. Práve preto sa v roku 1970 pustili do vývoja systému označovaného ako Unics. Okrem názvu si jeho autori vzali inšpiráciu aj z iných aspektov svojej predošlej práce. Unix napríklad obsahuje mnoho rovnakých príkazov ako Multics. Príkazy sú používateľom zadávané pomocou rozhrania nazývaného Shell.

Rozhranie systému Unix 7, ktorý bol nainštalovaný fotogaléria / 5
Rozhranie systému Unix 7, ktorý bol nainštalovaný na počítači PDP-11. Zdroj: Wikipedia

Pôvodný zámer bol vytvoriť z Unixu prostredie, ktoré by programátorom umožnilo vyvíjať aplikácie pre rôzne platformy. K masovému rozšíreniu prispelo jeho osvojenie v akademických kruhoch, kde sa na systém postupne vyvíjal doplnkový softvér.

Podľa slov Ritchieho sa Unix stal obľúbený vďaka svojím vlastnostiam, ktorými sa odlišoval od zložitých systémov tej doby. „Zdá sa byť isté, že veľká časť úspechu Unixu pramení z  prehľadnosti, modifikovateľnosti a prenositeľnosti jeho softvéru,“ povedal.

Hnací motor pre moderné programy

Spustiteľnosť softvéru a operačného systému na rôznych hardvérových konfiguráciách v minulosti nebola taká samozrejmá ako dnes. V tej dobe sa softvér písal v programovacom jazyku Assembler. Keďže sa svojou syntaxou približuje strojovej úrovni, softvér napísaný prostredníctvom neho je výrazne previazaný s hardvérom.  

Na začiatku táto vlastnosť sprevádzala aj Unix. Ritchie s Thompsonom najskôr uvažovali nad prepísaním Unixu prostredníctvom jazyka B. V ňom však chýbala podpora niekoľkých funkcionalít počítača PDP-11, na ktorom v tom čase vyvíjali OS. Vývojári tak museli siahnuť po inom riešení. Ritchie sa inšpirovaný „Béčkom“ pustil do vývoja vlastného programovacieho jazyka.

Dennis Ritchie s Kenom Thompsonom (sediaci) fotogaléria / 5
Dennis Ritchie s Kenom Thompsonom (sediaci) pri práci na počítači PDP-11. Zdroj: Wikipedia

Pri výbere názvu sa rozhodol pokračovať abecedne, vďaka čomu svet spoznal jazyk C. Jeho sila spočívala najmä v tom, že umožňoval písať softvér prenositeľný medzi rôznymi platformami. Táto vlastnosť je dosiahnuteľná vďaka kompilátoru. Ten slúži na preklad kódu napísaného programátorom do inštrukcií, ktoré sú kompatibilné s danou počítačovou architektúrou. C tiež umožňuje ukladať dáta do štruktúr, vďaka čomu je možné zapuzdrovať súvisiace údaje.

Programovací jazyk C

„Céčko“ patrí medzi procedurálne jazyky. To znamená, že svoje úlohy vykonáva v závislosti od sekvencie volaných funkcií. Jednotlivé funkcie sú bloky kódu, ktoré môžu prijímať aj vstupné parametre (napríklad premennú, v ktorej je uložené celé číslo).
 
Na rozšírení princípu procedurálneho programovania má obrovskú zásluhu práve C. V tom čase totiž programátori hľadali nové spôsoby, ako efektívne vyvíjať stále zložitejšie aplikácie.
 
Výhodou tohto spôsobu programovania je fakt, že kód je do jednotlivých funkcií zapuzdrený.Programátori tak nemusia rovnakú sekvenciu príkazov prepisovať viackrát – stačí im na konkrétnom mieste „zavolať“ definovanú funkciu. Tá v závislosti od vstupných parametrov vykoná požadovanú funkcionalitu. Tento spôsob vylepšil v súčasnosti populárny princíp objektovo-orientovaného programovania.
 
Potenciál, ktorý v sebe jazyk C ukrýval, si jeho tvorcovia uvedomovali. V roku 1973 totiž bola väčšina zdrojového kódu Unixu prepísaná prostredníctvom novo vytvoreného jazyka.

V nasledujúcich desaťročiach Unix postupne naberal na obľúbenosti. Z akademických kruhov sa dostal aj do komerčnej sféry, kde systém založený na Unixe vydala napríklad aj spoločnosť Microsoft (Xenix) či Hewlett-Packard (HP-UX).

Výrazne ovplyvnil svet IT

Dennis Ritchie sa vďaka práci na systéme Unix a programovacom jazyku C nezmazateľne zapísal do histórie informačných technológií. Z jeho práce sa odvíja aj dnešný softvér.

Na Unixovom základe sú postavené populárne operačné systémy, ktoré používajú stovky miliónov ľudí po celom svete. Zaraďuje sa tam napríklad systém Linux či Mac OS, pričom z práce Ritchieho čerpal aj Microsoft. Jedným zo základných programovacích jazykov na tvorbu operačných systémov Windows bolo totiž aj C.

Popularita jazyka C je po vyše štyroch desaťročiach stále vysoká. Dokazujú to aj čísla zobrazujúce jeho obľúbenosť u programátorov, kde sa kontinuálne drží na popredných miestach.

Index Tiobe zobrazujúci obľúbenosť programovacích jazykov v odbornej komunite. fotogaléria / 5
Index Tiobe zobrazujúci obľúbenosť programovacích jazykov v odbornej komunite. Zdroj: Tiobe.com

Dennisovi Ritchiemu sa tak za svoj život podarilo priviesť do úspešného konca niekoľko prelomových projektov, na ktorých mohli svoje produkty stavať dnešné technologické spoločnosti. Mnohé z nich dokonca dosahujú hodnotu rádovo v miliardách eur.

Diskusia 18 Príspevkov