Pascal-bedenker en programmeertaalpionier Niklaus Wirth is overleden

Softwarepionier Niklaus Wirth is overleden. Hij was de grondlegger van negen programmeertalen, waaronder Pascal. Wirth won daarnaast een Turing Award en werd gezien als een van de grondleggers van modern programmeren.

Niklaus Wirth 2De in Zwitserland geboren computerwetenschapper stierf op 1 januari dit jaar op 89-jarige leeftijd, bevestigt technologie-instituut ETH Zürich, waar Wirth aan verbonden was. Niklaus Wirth behaalde daar zijn diploma in 1959 en haalde verder een mastergraad aan de Laval-universiteit in Quebec en een doctoraat aan Berkeley in Californië. In die tijd schreef hij twee programmeertalen: Euler en PL/360 voor de IBM 360. Die waren beide gebaseerd op Algol. Vanwege zijn werk aan die programmeertalen werd Wirth gevraagd om aan een opvolger van Algol-60 te werken. In die hoedanigheid schreef Wirth Algol-W, dat hij later ombouwde tot de bekendere programmeertaal Pascal, in 1970 door hem uitgebracht.

Wirth werkte in zijn verdere carrière nog aan diverse andere programmeertalen, waaronder Modula en Modula-2, en in 1987 Oberon, dat tot 2020 nog stable releases ontving.

Niklaus Wirth was een invloedrijke figuur in de wereld van programmeertalen. Hij stond er onder andere om bekend code zo compact en efficiënt mogelijk te willen schrijven. Daar schreef hij verschillende pleidooien voor.

In 1984 ontving Wirth als eerste en vooralsnog enige Duitstalige wetenschapper een Turing Award, een van de hoogste onderscheidingen in de computerwetenschappen. Het comité reikte die award aan hem uit vanwege zijn werk aan Euler, Algol-W, Modula en Pascal, en vooral vanwege zijn 'fundament voor toekomstige computertalen, -systemen en architectuuronderzoek'.

Door Tijs Hofmans

Nieuwscoördinator

05-01-2024 • 10:36

94

Reacties (94)

94
93
43
6
0
42
Wijzig sortering

Sorteer op:

Weergave:

Als iemand de informatica vorm heeft gegeven, dan is het wel Niklaus Wirth. Ik denk zelfs nog meer dan Edsger Dijkstra, want nagenoeg alle programmeertalen hebben concepten uit Pascal overgenomen, iedereen die vandaag programmeert gebruikt zowat voortdurend de concepten van Wirth.

De wereld heeft iemand verloren die zowel bijzonder visionair was, als oog had voor de praktische kant van de zaak en ook nog eens een dusdanig goed programmeur was dat hij zijn visie in werkende compilers kon omzetten.

Rust in vrede Niklaus, en dank voor wat je ons gebracht hebt.
Twee anekdotes: Wirth was editor van Communications of ACM toen Dijkstra zijn beroemde verhandeling over Goto inleverde. Dijkstra leverde het in onder de titel "A Case Against the Goto Statement". Wirth vond zo belangrijk dat hij de titel veranderde in het meer dringende "Go To Statement Considered Harmful"
https://en.m.wikipedia.org/wiki/Considered_harmful

En deze:
This is how Adriaan van Wijngaarden introduced Mr. Wirth at the 1965 IFIP Congress:

"Europeans pronounce his name the right way, 'Veert', but Americans sometimes say 'Worth'... That's because Europeans call him by name, but Americans call him by value."

RIP Niklaus, bedankt voor je enorme bijdragen!

[Reactie gewijzigd door avlt op 23 juli 2024 03:24]

Aha, GOTO-anekdotes!

In 1990 was ik op een summer school in de Duitse Alpen. Veel lessen van oude knarren: Dijkstra, maar ook Tony Hoare was van de partij. Als jong informaticusje had ik Dijkstra heel hoog zitten, dus ik vond erg bijzonder hem twee weken "IRL" mee te mogen maken. Helaas had ik, op de eerste de beste dag aan de ontbijttafel, binnen vijf minuten ruzie met hem. Laten we het erop houden dat hij wat horkerig kon reageren.

Tony Hoare was (of eigenlijk: is, de beste man wordt volgende week 90) een beminnelijke Britse professor. In het weekend tussen de twee weken van de summer school maakten wij bij wijze van uitstapje een wandeling door Alpen, naar de top van een redelijk hoge berg. Boven aangekomen zeiden wij: "Tony, you should give a lecture now, to get in the books for the highest level lecture ever given". Zijn wat droge reactie daar bovenop die berg: "I guess the topic of the lecture will be: 'on the avoidance of jumps'".
Aha, GOTO-anekdotes!

In 1990 was ik op een summer school in de Duitse Alpen. Veel lessen van oude knarren: Dijkstra, maar ook Tony Hoare was van de partij.
Dat moet wel de summer school in Marktoberdorf zijn geweest. Ik was daar denk ik een jaar later, en daar waren inderdaad veel lessen van de grondleggers van de informatica.

Inmiddels is er veel 'accidental complexity' in programmeertalen (en frameworks, libraries etcetera) die de complexiteit van Algol 68 (de derde programmeertaal die ik leerde) ruimschoots overstijgt. Wirth had wel een belangrijk punt met het bepleiten van dingen zo simpel mogelijk houden, wat hij in Pascal en later Modula en Oberon in de praktijk bracht.
De eerste software die ik als betaald werk maakte was geschreven in Pascal.
Dat moet wel de summer school in Marktoberdorf zijn geweest.
Correct! Grappig, ik zie dat die nog steeds jaarlijks plaatsvindt.
Een preciesere quote van die quote:
Whereas Europeans generally pronounce my name the right way ('Ni-klows Wirt'), Americans invariably mangle it into 'Nick-les Worth'. This is to say that Europeans call me by name, but Americans call me by value."
nagenoeg alle programmeertalen hebben concepten uit Pascal overgenomen
Helaas vaak niet de eenvoud en simpliciteit die voor Wirth altijd zeer belangrijk waren. Je ziet nu nog steeds vaak zaken toegevoegd worden aan talen die de taal significant ingewikkelder door cryptisch constructies toe te voegen. Vaak is dit met het argument "anders moet ik zoveel typen".
Ja idd. Het werk van veel ontwikkelaars is eigenlijk oersaai; database -> business logica -> api -> website -> formuliertje en weer terug, keer duizend. Veel ontwikkelaars vinden dat saai en denken dat dat handiger kan, dus gaan ze vaak veel extra werk op zich nemen zodat die tedium makkelijker wordt.

Maar als ze gewoon even doorbijten en die saaie code kloppen of bestaande tooling gebruiken zijn ze veel sneller klaar.

Ik ben zelf groot fan van de Go programmeertaal en vooral de instelling en filosofie eromheen, ze zeggen vaak gewoon "nee" tegen nieuwe taalfeatures omdat ze niet nodig zijn. De tegenpool daarvan is Scala, die "ja" gezegd heeft tegen alle taalfeatures en -paradigmas onder de zon.

Een goeie om in je bookmarks te houden is ook Choose Boring Technology.
Tnx voor deze link, mooi artikel en mooie quote op het eind: "Technology for its own sake is snake oil"
Helemaal mee eens. Ik heb zelf jarenlang met heel veel plezier geprogrammeerd in Pascal (en afgeleiden).
Goed om te lezen dat je er 89 mee kan worden.
.
R.I.P.
Wat is eigenlijk een goed boek over deze geschiedenis die ook in audioboek-formaat goed te doen is?

Ik herinner me de Turbo Pascal boeken van mijn vader, en later Delphi, en Linux. Het enige dat is blijven hangen is Linux. En ik gebruik voornamelijk Python, niet te vergelijken met een low-level taal.
Vanwege zijn werk aan die programmeertalen werd Wirth gevraagd om aan een opvolger van Algol-60 te werken. In die hoedanigheid schreef Wirth Algol-W, dat hij later ombouwde tot de bekendere programmeertaal Pascal, in 1970 door hem uitgebracht.
Algol-W (en later dus ook Pascal) was juist een tegenreactie op de beoogde opvolger van Algol-60. Wirth was inderdaad betrokken bij het comité dat uiteindelijk met Algol-68 op de proppen zou komen. Die laatste taal was, zeker voor die tijd, heel elegant en orthogonaal. Naar Wirth's smaak werd het echter allemaal veel te ingewikkeld. Hij stapte uit het comité en the rest is history
inderdaad

en dit is zijn "afscheids-brief" aan het Algol-68 comite : }>

beleefd, maar glashelder ;)
https://archive.computerh...lgol_bulletin/A29/P32.HTM
Ah, herinneringen...

Op zo'n P2000 (philips) computer, waar van die plastic ROM cassettes in geklikt werden met b.v. Pascal. Het was een hele verbetering t.o.v. BASIC, met die regelnummers. Op een computerbeurs in de Jaarbeurs in Utrecht, die had je toen nog, een doos met floppies gekocht met een verouderde Borland Pascal versie (toen werd software nog in een echte doos geleverd)..

Geloof niet dat Pascal ooit "echt" aansloeg als "bedrijf taal". Cobol was toen wel populair voor (financiële) toepassingen.

Ik voel me oud, iemand uit een half vergeten wereld :) Het is verbazingwekkend dat mijn Apple Watch sterker is als de toenmalige P2000, hoe gul er tegenwoordig met geheugen wordt omgegaan.
Geloof niet dat Pascal ooit "echt" aansloeg als "bedrijf taal". Cobol was toen wel populair voor (financiële) toepassingen.
Pascal zelf misschien niet, maar Delphi (een afgeleidde daarvan) zeker wel.
Pascal leerde mij programmeren (i.p.v. ik leerde programmeren in Pascal)
Dat klinkt herkenbaar...
Heb zelf mijn eerste programmeer stapjes in Pascal gezet 30j geleden. Andere tijden.
Ja hier ook. Op het MBO kregen wij les in Pascal via Turbo Pascal uit mijn hoofd.
Ja hier ook. Op het MBO kregen wij les in Pascal via Turbo Pascal uit mijn hoofd.
Dito hier :Y) Dat was op zo'n beetje elke technische opleiding rond 1990 de facto de standaard, net zoals iedereen in die tijd leerde CAD tekenen met AutoCAD en tekstverwerken met WordPerfect.
Ja hier ook mijn eerste programmeer ervaring in turbo pascal, op het MBO in 2007 wel te verstaan. En oh wat vonden we dat ouderwets, opstarten in dos, blauwe achtergrond, enz.. Maar het was wel een goed begin om de basics van het programmeren in te leren denk ik.
in 1991 kreeg ik voor het eerst pascal. Tot mijn stomme verbazing vond ik vorig jaar in een pakket met allerlei tools, nog een tool in free pascal, mét source. Voor de gein eens omgezet in Julia en de performance vergeleken......geen verschil.
free pascal heeft net updatre naar 3.0 gekregen.

er is ook een GUI IDE , Lazarus, voor : windows, mac, linux (en android / node.js ? nooit geprobeerd... )

https://wiki.lazarus.freepascal.org/Main_Page/nl

delphi compatible, mostly ( heb 3 redelijk ingewikkelde apps om kunnen zetten met relatief weinig moeite )
Onze MBO gaf het in het jaar 2000 nog steeds. Niet heel modern in die tijd, maar nog steeds uitstekend om in te leren programmeren.
Gezien je profielnaam: ROC Rivor toevallig? Of heette het toen nog Rivierenland College?
De laatste heb ik op gezeten namelijk :)
Haha nee. Roc Midden Nederland in Utrecht kanaleneiland :) ik denk zelfs dat het 2002+ was trouwens. Geen budget daar :)
Hier ook, HBO midden jaren 2000 nog. Vanaf het 2e jaar kregen we echter Java, ik denk dat dat voor de meeste mensen relevanter was voor hun carriëre.
Voor mij was dat Modula-2, andere taal, zelfde persoon er achter.

Een ideale taal om concepten in te leren vanwege de leesbaarheid.
Nostalgie...

Eerst GWbasic op een MSX, vervolgens basic op een 8086. In m'n uni tijden met pascal, modula, fortran, C++en reduce gewerkt. Daar zijn momenteel alleen sporadisch C++, Fortran en basic van overgebleven.

edit: voor fondacio . My bad. Dank, je hebt gelijk was MSX basic en GW basic voor de pc, dus precies andersom. Is inmiddels een tijdje terug...

[Reactie gewijzigd door vladimirN op 23 juli 2024 03:24]

Eerst GWbasic op een MSX, vervolgens basic op een 8086.
GW-Basic op een MSX? GW-Basic was de versie van Basic bij PC's die met MS-DOS werden geleverd en MSX had de eigen MSX-Basic.

[Reactie gewijzigd door fondacio op 23 juli 2024 03:24]

Klopt wel, maar beiden waren van Microsoft en dialecten van dezelfde taal. Een van de goede dingen van MSX BASIC was dat het redelijk compleet was; je kon heel veel doen zonder gekke "escapes" en PEEKs en POKES.

Aan de andere kant was het natuurlijk archaïsch. Je had soms commando's zoals [code]FILES[/code] waarbij het resultaat niet in een variabele terecht kwam maar gewoon op het scherm. En het feit dat het line-based was is ook niet meer van deze tijd, gelukkig ligt de RENUM & GOTO tijd een stuk achter ons. Alle variabelen in global scope, ugh, horror...
Hier ook in 1986, basis Pascal, niet dat nieuwerwetse Turbo Pascal gedoe. Ik heb het boek nog.

Lekker aan de slag met ik meen 17 keywords, gestructureerde lijsten maken.

Goede oude (niet productieve) tijd.

[Reactie gewijzigd door sjakie66 op 23 juli 2024 03:24]

Mij ook 35 jaar geleden, ook Modula2. De invloed is altijd gebleven.
Idem hier. Mijn eerste kennismaking met Turbo Pascal was bij mij op de schoolbanken.
Ik ook, op de MTS jaren '90. Alleen de basics :) zoals een programma (voorkantje) voor een lift en eprom-programmeren. Later nog wat via studie gewerkt in Delphi, soortgelijke taal maar object-gebaseerd.
Ik ook. En nog steeds vind ik het de mooiste taal om te lezen. Misschien omdat ik er het meeste mee gewerkt heb, maar andere talen ogen zo rommelig.
Qua leesbaarheid kan er volgens mij niks tegen Python op.

Maar ook ik ben op school (HTS) in Pascal begonnen, al had ik op de MSX en Amiga al ruim ervaring in verschillende BASICs en assembler. Daarna van assembler naar C, en van C naar Python omdat computers zo snel werden dat high-level talen eigenlijk wel goed genoeg waren. Voor Android nog even Java geleerd, maar daar vond ik niks aan. Voorgekauwde routines aan elkaar plakken.

En nu doe ik zo weinig meer dat mijn grootste aandeel "programmeren" in Bash gebeurt. Heel af en toe duik ik nog C in als ik een bug tegenkom in een programma wat ik zelf gebruik. Dat is dan weer het leuke aan open source. De bug fixen kost dan zelfs minder tijd dan het delen van die fix met de rest van de wereld, want moderne fratsen zoals Git(lab) bestonden nog niet in mijn programmeertijd. Ik moet iedere keer weer opzoeken hoe dat ook alweer gaat. :+
Ik heb Niklaus Wirth voor het eerst ontmoet bij de Icalp'85 conferentie in Nafplion (Griekenland) waar hij een lezing hield in het best bewaarde Epidaurus openlucht theater.
En waar iedereen het hier over de ontwikkeling van Pascal heeft was Wirth ook de ontwikkelaar van TeX, wat zo mogelijk nog veel indrukwekkender was.
Een grote pionier is van ons heengegaan... Ik voel me ineens weer een stuk ouder...
En waar iedereen het hier over de ontwikkeling van Pascal heeft was Wirth ook de ontwikkelaar van TeX, wat zo mogelijk nog veel indrukwekkender was.
Ben je niet in de war met Donald Knuth voor wat betreft TeX?
Ach, natuurlijk. Een gebrekkig geheugen hoort ook bij het oud worden. ;) ;)
Wat stom van mij...
En Donald Knuth leeft gelukkig nog.
Het was ook Donald Knuth die de lezing gaf bij Icalp'85.

[Reactie gewijzigd door pauldebra op 23 juli 2024 03:24]

Het is algemeen bekend dat Donald Knuth nooit dood zal gaan. :) Dan kan hij immers "The Art of Computer Programming" niet afkrijgen. Hij moet deel 4 nog afmaken, deel 5, 6 en 7 nog schrijven (mind you, deel 1 kwam in 1969 uit). Daarna schijnt hij nog van plan te zijn deel 1, 2 en 3 geheel te herschrijven.

Er is zelfs een IT-mopje over: "Hard question: name three things in computer science DK was never involved with. Answer: TAOCP 5, 6 and 7"
Turbo Pascal was voor mij de perfecte mix van code leesbaarheid en krachtige programmeertaal.
Ik ben op een gegeven moment Delphi gaan gebruiken (afgeleid van Pascal) en met een fervente C++ collega een wedstrijdje gedaan. Ik was binnen en uur klaar en hij was 3 uur bezig voor hetzelfde resultaat. En ik was zeker geen betere programmeur.
Eind jaren 80, op de HTS, kregen we programmeerles. In Pascal. Op wat computers in de kelder onder het energietechnieklab. Twee schoolvrienden van toen hebben er nog trauma's van, maar ik vond het prachtig.
Same here, ook eind jaren tachtig HTS, en dus ook Pascal. Ik kon er ook wel van genieten, het boek heb ik denk ik nog wel ergens. Mintgroenig van kleur.

Het heeft me net als vele anderen hier de basis van gestructureerd denken en programmeren bijgeleerd.

[Reactie gewijzigd door Ome Ernst op 23 juli 2024 03:24]

Was die mintgroene niet voor C? Die had ik en voor Pascal geel met blauw. Ook eind jaren 80.

Ik heb dat Pascalboek ooit nog gebruikt om programmeerles in Zuid-Afrika te geven. Relevante stukken vertaalt en zonder leraarervaring snapte iedereen het.

[Reactie gewijzigd door Frame164 op 23 juli 2024 03:24]

Eureka !

Het was Pascal en PSD's.
Eind jaren 80 moet trouwens eind jaren 90 zijn. Geheugen en zo :P
De taal C heb ik nooit gehad, wel aan zitten denken om er aan te beginnen, maar nooit de knoop
doorgehakt.
Van de heer kammer?
Ik weet dat werkelijk niet meer... HTS Werktuigbouw in Alkmaar.
program Goodbye;
begin
writeln ('RIP');
end.

[Reactie gewijzigd door The Zep Man op 23 juli 2024 03:24]

Turbo Pascal was top, met inline x86 assembler mooie dingen in gemaakt vroeger.
"Efficient". Vraag 3 personen wat dat betekent, je krijgt 3 antwoorden :) Als ik de link mag geloven dan was hij duidelijk een minimalist en dat ging veel verder dan enkel code. Hij raakt ook het design van applicaties zelf. Daar is iets voor te zeggen, als je een moderne tool installeert dan kun je in de stress raken van de zee aan knoppen, ribbons en menu opties.

Op dat gebied ben ik wel gecharmeerd van Go, nu dat package management eindelijk een beetje geland is. Het deed me wel weer een beetje aan mijn Turbo Pascal dagen denken vele manen geleden. Combineer Go met HTMX en je hebt de droom van de minimalist als het om webapps gaat.

Als je er zelf aan denkt om iets met Go te doen - kijk als eerste naar de (eveneens minimalistische) foutafhandeling. Als dat je enorm tegenstaat, laat maar gaan dan :)
Daar gaan de meeste talen naar mijn mening de fout in. Goed, de verplichte afhandeling van checked exceptions in Java gaat wat ver. Maar elke functie kan wel op een bepaalde manier falen en die fouten wil je meestal niet met een "panic" afhandelen. Dus talen zonder exception handling kunnen wat mij betreft de boom in. Nooit begrepen, zelfs niet een taal die voor low level functionaliteit bedoelt is zoals GoLang.
Checked exceptions in Java kan je ook gewoon doorgeven dus echt verplicht is het. Bovendien hoef je ze in je eigen codebase natuurlijk niet te gebruiken. Ik vind het op zich wel fijn, iets meer in code al vastgelegd wat de API is.
Sowieso heeft Java goed aan de weg getimmerd de afgelopen jaren, ik mis alleen nog afgedwongen niet-null values.
Mee eens hoewel ik zelf wel wat meer dingen zie die tot verbeteringen kunne lijden. Maar op een bepaald punt kan je dan beter een nieuwe taal gebruiken. Kotlin doet dat redelijk goed, maar sommige dingen zoals een gelimiteerde integer value enzo kan je er niet uithalen zonder alle bibliotheken te herschrijven. Een minder complex, runtime afgedwongen generics zou ook erg welkom zijn. Nog steeds fan van de taal gebruik het al sinds v1.0 en heb nog een 1.1 boek.

Op dit item kan niet meer gereageerd worden.