Computerwetenschapper
Niklaus Emil Wirth is op 89-jarige leeftijd overleden op 1 januari 2024. Hij was de uitvinder van verschillende programmeertalen, waarvan de programmeertaal Pascal waarschijnlijk de bekendste was.
Hij werd geboren in 1934 in Zwitserland, en hij werd een bekende computerwetenscahpper en professor . Hij ontwierp verschillende programmeertalen en drukte daarmee zijn stempel op het ontwerp van programmeertechnieken en programmeertalen in het algemeen.
Hij studeerde electronica in Zurich, en na zijn afstuderen ging hij naar Canada, waar hij aan de universiteit van Laval een mastertitel haalde, en in Berkeley ging studeren. Hij gaf later les aan de Stanford University en terug in Zürich in de ETH waar hij ooit zelf les volgde. Daarr werd hij professor informatica en werkte hij tot zijn pensioen.
Euler
Tijdens zijn studie had hij zich verdiept in de fundamentele concepten van programmeertalen, waarbij hij ALGOL60 bestudeerde, de opvolger van ALGOL58. Samen met Helmut Weber werkte hij aan de definitie van een programmeertaal “Euler”, die nieuwigheden had als arrays en procedures. Ze werd gepubliceerd in 1965, en uitgetest op een IBM 704.
Opgelet, we zijn in de jaren ‘60, en er bestonden nog geen pc’s, integrated circtuits of zelfs transistors. Dit was een computer zonder scherm of toetsenbord; dit was een mainframe computer waarbij de logica verwerkt werd door lampen, waarvan er gemiddeld om de 8 uur wel een stuk ging, zodat de programma’s die er op draaiden niet langer dan 8 uur mochten duren. De computer is zo groot als een kast, en dan waren er nog bijkomende kasten voor de invoer van ponskaarten, en bandopnemers, printers enz. Van deze mainframe computer werden er een goede honderd gebouwd. In 1962 werd er een speech synthesizer demonstratie op gegeven, die de inspiratie was voor HAL 9000 die een liedje zingt in “2001: A Space Odyssey”.
Maar in die tijd dus, werkte Wirth concepten uit die verder gebruikt werden en ook andere programmeertalen beïnvloed hebben.
Zo is er de verwijzing naar Wirth in de “Wirth-Weber precendence relationship”, die in computerkunde de relatie tussen symbolen beschrijft.
Wirth was in de jaren 60 verder betrokken bij de programmeertaal ALGOL60, wat stond voor Algorithmic Language 1960. Die taal evolueerde, en af en toe werd een nieuwe versie goedgekeurd door de ALGOL commissie.
Wirth paste zijn eigen visie op programmeren toe op de taal, en dat leidde tot zijn versie, ALGOL W.
Maar de ALGOL commissie was niet helemaal mee, en ze besliste de taal te laten evolueren in een andere, meer complexe richting, die -achteraf bekeken- een doodlopend spoor bleek te zijn.
Pascal
Wirth werkte op basis van zijn ideeën verder, maar moest een nieuwe naam bedenken. Hij gaf de naam “Pascal” aan zijn programmeertaal, een verwijzing naar de Franse wetenschapper Blaise Pascal. Hij gaf zijn programmeertaal Pascal uit in 1970.
De programmeertaal Pascal werd graag gebruikt in de programmeerlessen wegens de eenvoud, duidelijkheid en zuiverheid van de taal. Niklaus Wirth heeft ze ook met dat doel ontworpen, om goede programmeerpraktijken te stimuleren in de tijd van het opkomen van gestruktureerd programmeren, en hij legde ook nadruk op data strukturen.
Verschillende uitgevers van programmeertalen voor computersystemen maakten hun eigen versie, zoals Borland, en verkochten hun pascal als product. In de jaren 80 was Turbo Pascal bv een veelgebruikte versie. Apple gebruikte een afgeleide versie, Object Pascal, voor hun opkomende Lisa en Macintosh computers. Een bekende toepassing van die beginperiode, het programma Photoshop, werd bv in Pascal geschreven. Een uitloper van Pascal was een grafische programmeeromgeving of IDE van Borland, onder de naam “Delphi”, waarvan een Linux versie bestond onder de naam “Kylix”.
Eind jaren 1990 werd een “open source/free software” Pascal versie ontwikkeld onder de GPL, onder de naam “Free Pascal”, die ook beschikbaar was op Linux. Daar bovenop werd dan later weer Lazarus ontwikkeld, een programmeeromgeving voor het maken van programma’s op een manier vergelijkbaar met de commerciële programmeeromgeving Delphi. Met de Lazarus programmeeromgeving mag je trouwens ook commerciële software maken, niet alleen “open source of free software”, en Lazarus bestaat ook voor BSD en Mac OSX. In december 2023 kwam Lazarus Release 3.0 uit als “Rapid Application Development IDE” voor professionals.