Niklaus Wirth
Niklaus Wirth (Winterthur, 15 februari 1934 – 1 januari 2024) was een Zwitsers ontwikkelaar van diverse programmeertalen.
Biografie
bewerkenWirth studeerde elektronica aan de Eidgenössische Technische Hochschule (ETH) in Zürich waar hij in 1959 afstudeerde. Daarna behaalde hij zijn masterstitel aan de universiteit van Laval (Canada) en studeerde hij aan Berkeley. Hij doceerde aan de Stanford University en aan de ETH in Zürich, waar hij van 1968 tot aan zijn pensionering in 1999 professor aan de vakgroep informatica was.
Wirth behaalde zijn doctorstitel met een grondstudie naar de diverse dialecten van de programmeertaal Algol, waaruit een nieuw, geformaliseerd dialect resulteerde: Algol-W (1968).
In 1970 introduceerde Wirth Pascal, een formeel gedefinieerde, statisch getypeerde programmeertaal. De taal was vooral bedoeld voor het programmeeronderwijs, maar kreeg door zijn eenvoud en door de snelle (en gratis) compilers die er voor verkrijgbaar waren, al snel ook daarbuiten een grote schare gebruikers.
In 1980 startte Wirth een nieuw computer-project, waarvoor hij een computertaal nodig had die, anders dan Pascal, ook geschikt was om op systeemniveau toegepast te worden. Deze taal werd Modula, later Modula-2. Net als Pascal is Modula een geformaliseerde functionele taal, met sterke type-checking. Anders dan Pascal zijn in Modula een aantal praktische problemen van software-ontwikkelaars opgelost. In Modula introduceerde Wirth het modulair programmeren, waarmee het hergebruik van functies en variabelen netjes wordt geregeld door ze in modules expliciet te exporteren en te importeren.
Onder druk van het sterk opkomende concept van objectgeoriënteerd programmeren ontwikkelde Wirth in de jaren 90 van de 20e eeuw Oberon, een taal die zich van alle andere onderscheidt doordat het zowel een programmeertaal als een besturingssysteem is. In de inleiding tot deze taal zet Wirth zich sterk af tegen de gangbare teneur van objectgeoriënteerde talen, die in zijn optiek doorgaans de verkeerde oplossingen voor de aan de orde gestelde problemen bieden. Inderdaad levert het door Wirth voorgestelde mechanisme een veel compactere en eenvoudiger taal op dan de concurrerende talen. Oberon biedt als eerste taal aanknopingspunten voor software componenten, en wordt dan ook commercieel verkocht onder de naam Component Pascal.
Pascal heeft in verschillende opzichten geconcurreerd met het vergelijkbare en ongeveer even oude C, maar er zijn duidelijke verschillen in de uitgangspunten, die ooit door Brian Kernighan, een van de ontwerpers van C, zijn samengevat in het werkje Why Pascal is not my favorite programming language. Overigens had Wirth veel van de daarin genoemde punten al opgelost in Modula-2, terwijl andere later zijn overgenomen in ANSI-C, omdat ze aantoonbaar tot verheldering van de structuur leiden.
Sterk vereenvoudigd zou men kunnen stellen dat 'Wirth-talen' gebaseerd zijn op de grondgedachte dat de compiler de programmeur duidelijk moet maken te weten waarmee hij bezig is, en hem dwingen zijn werk te structureren, terwijl C-achtige talen meer aan de eigen verantwoordelijkheid van de programmeur overlaten. Compilers voor Wirth-talen zijn -bij gelijke performance- doorgaans kleiner en sneller dan die van de C-talen.
Veel programmeercursussen zijn gebaseerd op door Wirth ontwikkeld studiemateriaal, en wanneer bij programmeercursussen eenvoudige voorbeelden in pseudocode worden geschreven, lijkt deze pseudocode doorgaans als twee druppels water op Pascal of Modula 2.
Sinds zijn pensionering in 1999 was Wirth commissaris bij Oberon Micro Systems, het bedrijf dat zijn laatste creatie, Oberon (meer precies het dialect Component Pascal) commercialiseerde.
Wirth overleed op nieuwjaarsdag 2024 op 89-jarige leeftijd.[1]
Boeken
bewerken- Systematisches Programmieren (1972)
- Algorithmen und Datenstrukturen (1975)
- Compilerbau (1977)
- Programming in Modula-2 (1982)
- Algorithmen und Datenstrukturen mit Modula-2 (1986)
- Project Oberon (1992)
- Programming in Oberon (1992)
- Digital Circuit Design for Computer Science Students. An Introductory Textbook (1995)
- Grundlagen und Techniken des Compilerbaus (1995)
- Algorithmen und Datenstrukturen, Oberon-Version (2004)