Hij studeert momenteel computerwetenschappen aan de Polytechnische Universiteit van Valencia, Spanje, waar hij het grootste deel van zijn tijd doorbrengt.
Hij houdt al van Linux (en, meer algemeen, Unix*) sinds de dag dat hij ermee begon te werken, 5 jaar geleden, en hij houdt van alles wat te maken heeft met computer architectuur. Naast computers houdt hij ook nog van muziek, theater en snowboarding.
Ritchie is de schepper van C en UNIX en is al lange tijd een computer-wetenschapper bij Bell Labs - Lucent Technologies. In dit interview praat Dennis over C en C++, Java, Linux, Inferno en natuurlijk de verplichte Y2K bug.
Sommigen worden belangrijk omdat ze de geschiedenis veranderen, anderen worden het omdat ze de geschiedenis maken. Dennis Ritchie behoort tot de tweede groep. Toen de meesten onder ons nog moesten leren lopen, ontwikkelde hij "C", de meest gebruikte programmeertaal. Het belang van deze bijdrage aan de mensheid hoeft verder geen betoog.
Maar dat was niet genoeg voor hem. Dennis Ritchie en Ken Thompson ontwikkelden het Unix besturingssysteem, ook wel bekend als 'Hét Besturingssysteem'. Inderdaad, hij is de schepper van UNIX.
Hij is nooit opgehouden met het werken op en aan computers en besturingssystemen. Plan 9 en Inferno werden ontwikkeld door een groep onderzoekers onder zijn leiding.
Zijn werk is erkend door talrijke computer organisaties: 'ACM award' voor het uitstekende document uit 1974 over systemen en talen; 'IEEE Emmanuel Piore Award' (1982), 'Bell Laboratories Fellow' (1983); 'Association for Computing Machinery Turing Award' (1983); 'C&C Foundation award of NEC' (1989); 'IEEE Hamming Medal' (1990), etc.
Op het moment is Dennis M. Ritchie hoofd van het departement System Software Research in het Computing Science Research Center van Bell Labs/Lucent Technologies in Murray Hill, New Jersey.
LF: Op dezelfde manier als veel kinderen superman willen zijn, ben jij het idool van (onder andere) veel C programmeurs en UNIX fans over de hele wereld. Hoe voelt het om aanbeden te worden door duizenden UNIX en C programmeurs? Vandaag is het onmogelijk om je een computerwereld zonder UNIX of C in te beelden. Toen je C maakte en begon met UNIX, verwachtte je toen dat het 'DE TOEKOMST' van de computer wetenschap zou worden?
Dennis: Deze twee vragen hangen nauw samen, en ze worden me dikwijls gesteld. Natuurlijk zijn de prijzen en de erkenning die ik en mijn collega's gekregen hebben zeer aangenaam, en we zijn blij dat we iets echt waardevols hebben helpen ontstaan. Maar nee, we hadden niet echt verwacht dat dit "de toekomst" zou worden; de uiteindelijke invloed van ons werk hadden we niet verwacht. We hebben het gedaan in de geest van "Laten we iets nuttigs maken" en tegelijkertijd ook het werk te doen om anderen te kunnen laten meehelpen. Het is belangrijk om te onthouden dat alhoewel het aandeel van Unix en C of C++ groot is, de wereld van de computerwetenschappen, -technologie en echte producten veel groter is. Dit geldt zowel voor de academische wereld wat betreft het bestuderen van programmeertalen, als voor de grof-geld-software wereld.
LF: Als UNIX het verleden en de toekomst is van besturingssystemen, dan is C zonder twijfel 'DÉ TAAL', ondanks al de object-geöriënteerde talen die de laatste jaren verschenen zijn. Wat is jouw kijk op C++ en Java, en de veelvuldige flame wars tussen C en C++ aanhangers?
|
Dennis: C++ heeft veel voordeel gehad van C, omdat C al redelijk geaccepteerd was vóór de groei van C++, en omdat het C kon gebruiken als een basis om een nieuwe taal op te ontwerpen en als gereedschap om de compilers mee te maken. C is getypeerd (zowel positief als negatief) als een 'overdraagbare' assembleertaal, en C++ probeert het niveau op te krikken naar object oriëntatie en een meer abstracte aanpak van programmeren. De fouten van beiden lijken vooral overdadige 'versiering' en het veelvuldig gebruik van 'vernufteigheidjes' te zijn. Ze hebben beiden een geest van pragmatisme, van proberen te begrijpen wat echt nodig is. Java is zeer duidelijk een afstammeling van C++; het neemt tegelijkertijd een stuk van de erfenis weg op het gebied van pointers, en voegt het idee van machine-onafhankelijke object bestanden toe (niet zo nieuw, maar misschien nu meer haalbaar). Nu het een onderwerp is van politieke gevechten tussen Sun en Microsoft is het moeilijk te voorspellen in welke richting de dingen zullen evolueren.
LF: Nu een hypothetische vraag: Vanuit het standpunt van vandaag, en na zoveel jaren van C-ervaring, zijn er dingen die je anders zou doen als je C vanaf nul terug op moest bouwen?
Dennis: Een manier vinden (rekening houdend met de linmieten van de tijd) om aan te dringen op wat al een tijdje in de ANSI/ISO standarad staat: volledige declaratie van de types van functie-argumenten, wat de 1989 C standaard function prototypes noemt. Er zijn vele kleinere details die rommeliger zijn dan zou moeten. Bijvoorbeeld, de betekenis van het woord "static", dat verwarrend genoeg gebruikt wordt voor verschillende doelen. Ik ben nog steeds onzeker over de declaratie-syntax, waar in declaraties syntax gebruikt wordt die het gebruik van de gedeclareerde variabelen bijna vermomt. Dat is één van die dingen die sterke kritiek krijgen, maar er zit een zekere logica in.
LF: Terwijl C een gevestigde en volledig gestandariseerde taal is, evolueren de besturingssystemen nog heel sterk. Nieuwe ideeën ontstaan terwijl de hardware sneller en goedkoper wordt. Wat zullen in de toekomst de belangrijke punten worden bij het ontwerp van besturingssystemen? In het bijzonder, wat is uw mening over micro-nano kernels tegenover monolithische designs?
Dennis: Op die manier gesteld is dit eigenlijk geen interessant onderwerp. Ik ben een sterke voorstander van aplicatie-omgevingen die zorgen voor een gestructureerd, gemeenschappelijk systeem met mechanismen voor het benaderen van systeembronnen, - zoals Unix (en door hoort Linux ook bij), Plan 9 en Inferno. Het lijkt mij dat het idee van micro- of nano-kernels niet echt belangrijk geworden is in het echt gebruik, toch niet als basis voor gewoon gebruik. In de praktijk blijkt dat micro-kernels zich specialiseren in taken voor het macro-systeem erboven. Het kan wel een nuttig hulpmiddel blijven voor de interne opbouw van een systeem, maar het staat niet echt op zichzelf. Natuurlijk (de wereld IS ingewikkleld) zijn er gevallen waar een een heel eenvoudig besturingssysteem nuttig is voor kleine gespecialiseerde toepassingen die niet bedoeld zijn voor algemeen gebruik, zowel op de desktop als in een machinekamer.
LF: UNIX is tegenwoordig een besturingssysteem met een lange geschiedenis. Het is jaren geleden ontstaan en sinds toen zijn de mogelijkheden van en de eisen aan netwerken, hardware, diensten en toepassingen hard veranderd. Wat zijn op dit moment die limieten of handicaps van UNIX in het licht van de huidige en toekomstige behoeftes?
Dennis: Ik zie geen fundamentele, technische problemen, in verband met de basis systeem-API ("system calls"). Er zijn wel veel commerciële/politieke kwesties: onenigheid tussen commerciële Unix verkopers en nu ook tussen de verschillende "gratis" Unix'en, onder meer Linux en *BSD.
LF: Momenteel is er veel ophef rond het naderende jaar 2000 en de mogelijkheid van een ramp op het internet door de beruchte Y2K bug. Gelooft u dat er gegronde redenen zijn voor de apocalyptische voorspellingen van sommige experts?
Dennis: Geen intelligent commentaar hierover... Ik zal op 31 december om 23:59 niet in een vliegtuig zitten, maar aangezien ik dat nooit doe heeft dat feit maar weinig te maken met Y2K.
LF: Dit zou geen compleet interview zijn zonder Inferno te vermelden, het OS waar je op dit moment aan werkt. Wat was de grote motivatie om een totaal nieuw besturingssysteem te maken, samen met Limbo, zijn eigen programmeertaal? En waarom Limbo/Inferno maken als er al een JavaVM/Java is? Met andere woorden: wat biedt Inferno dat Java niet heeft?
Dennis: Inferno was het geesteskind van Phil Winterbottom en Rob Pike, en het begon vlak voordat de Java-trein (publiciteitsmachine) op gang kwam. Java had zijn eigen voorganger (intern Oak genoemd), maar toen Inferno ontstond was er geen enkele reden om aan te nemen dat het fenomeen zou aanslagen, en alhoewel we ons bewust waren van Java, was het nog altijd een beetje vaag. Ik denk dat het één van die toevallige keren was, dat één technogisch idee (een taal geïnterpreteerd door een 'portable virtual machine') op twee plaatsen tegelijk uitgedacht werd (bij ons en bij Sun). Los daarvan, was Inferno al van bij het begin interessanter wat de OS technologie betreft (een taal en een besturingssysteem die beiden werken op kale, zeer goedkope minimalistische hardware, en ook identiek als een applicatie onder Windows of Unix of Linux). Toch moeten we Sun feliciteren met het beter toepassen van de technologie in de explosieve WWW/browser markt.
LF: Het komt ons voor dat de toekomst van Limbo als een programmeertaal sterk verbonden is met de expansie en de populariteit van Inferno als besturingssysteem. Heeft het nut om Limbo te porten naar andere OS'en? Of zijn het ontwerp en de doelstellingen te sterk verbonden met Inferno?
Dennis: Technologisch gezien is Limbo niet heel afhankelijk van Inferno. Maar in de realiteit hangen ze wel samen, omdat een nieuwe taal afhangt van de omgeving waarin ze gebruikt wordt.
LF: Als we uw carrière bij Bell Labs bekijken, lijkt het dat je steeds hebt gewerkt aan projecten die je leuk vond, en ik neem aan dat dit ook geldt voor Inferno. Ben ik mis als ik stel dat je het werken aan zowel UNIX als C aangenaam vond?
Dennis: Ik heb me altijd geamuseerd bij Bell Labs, en ik doe het nog steeds.
LF: Ik kan niet vermijden een vergelijking te maken tussen u en al de mensen die nu gratis werken voor non-profit projecten, gewoon omdat ze het leuk vinden - alhouwel ik zeker weet dat ze geen geld zouden weigeren voor hun werk. Zou je zelf meedoen aan projecten als Linux, of gelijkaardige, als je niet bij Bell Labs zou werken? Hoe bekijk jij al die mensen vanuit een onderzoekscentrum, met je jarenlange ervaring? Omdat ons magazine gericht is op Linux kunnen we niet nalaten een Linux-vraagje te stellen. Eerst en vooral, wat is uw mening over heel de Linux hype, en de beslissing van veel bedrijven om er software voor te schrijven (bv Bell Labs: Inferno is geport naar Linux!)
Dennis: Ik neem de twee vragen samen. Ik vind het Linux-fenomeen echt prachtig, omdat het zo sterk steunt op de basis van Unix. Linux lijkt één van de gezondste afgeleiden van Unix te zijn, alhouwel er ook nog de verschillende BSD's zijn en ook de officiële systemen van workstation- en mainframe-fabrikanten. Ik kan natuurlijk ook niet nalaten om de opmerking te maken dat zowel de commerciëe als de "free source" Unix'en neigen naar defragmentatie (opsplitsing in verschillende 'smaken') en tweedracht.
LF: En nu de grote vraag over Linux. Heb je Linux ooit gebruikt? En zo ja, wat vond je ervan?
|
Dennis: Ik heb het nog niet 'echt' gebruikt -- in de zin van er afhankelijk van te zijn voor mijn dagelijks computerwerk, moet ik toegeven. Mijn eigen computer-werld is een vreemde mengeling van Plan 9, Windows, en Inferno. Ik bewonder de groei en energie van Linux heel sterk. Soms stellen mensen me dezelfde vraag, maar dan op een manier die een antwoord lijkt te verwachten dat jaloezie of irritatie toont over Linux tegenover Unix geleverd door traditionele bedrijven. Helemaal niet; ik zie ze allebei als voortzettingen van de ideeë die jaren geleden begonnen zijn door Ken, ik en vele anderen.
LF: En Microsoft... Wat denk je over het monopolie dat dit bedrijf nu heeft op de desktop? In het verleden werd in science fiction films een wereld geschetst waarin macro-computers domineren over het dagelijks leven. De huidige situatie laat een heel ander beeld zien. Computers zijn op veel gebieden beperkt tot simpele toepassingen. Jij, die een besturingssysteem hebt gemaakt dat ideaal is voor programmeurs, die in die science-fiction wereld gewerkt hebt, en die zich lang geleden de huidige situatie probeerde voor te stellen, hoe zie jij de toekomst van de computer? Welke plaats zullen Linux en Inferno daarin hebben?
Dennis: Dat zijn twee vragen. Microsoft heeft inderdaad een soort monopolie op desktop computers, maar dat is niet de enige interessante markt. Zowel andere manieren om software te verdelen (zoals Linux) en de delen van het wereldje die niet zoveel in het nieuws komen als Windows of browser-oorlogen (zoals zeer betrouwbare systemen, zeer snelle systemen, zeer kleine systemen) zullen allemaal hun plaats krijgen. Ik vertrouw erop dat zowel Linux als Inferno verder zullen groeien.
Oorspronkelijk in het Engels
Vertaald door Floris Lambrechts