PASCAL User Manual and Report
Onlangs kwam ik in mijn boekenkast dit boek tegen. Het moet het eerste ICT-boek zijn dat ik ooit heb gekocht; ik denk dat het in 1980 of 1981 was.
Om even de tijdgeest aan te duiden: de Apple II-computer was toen al een paar jaar op de markt (vanaf 1977), maar IBM werkte nog aan de eerste DOS-personal computer; die kwam pas een jaar later uit. En het zou nog 10 jaar duren voordat de allereerste webpagina online kwam.
Toen ik dit boek kocht, was ik student aan de Landbouwhogeschool in Wageningen. Aan de binnenkant van het boek zit nog het stickertje van de boekhandel ("Kniphorst's Boekhandel, Wageningen"). Daarnaast staat, nog steeds leesbaar, met potlood de prijs: ƒ 27,90. In euro's: € 12,66. Dat lijkt misschien niet veel, maar voor een student was het toen toch wel een hele uitgave. Aan de buitenkant staat mijn naam erop. Het was tenslotte een kostbaar bezit. Als ik het ergens zou laten liggen, dan wist men in ieder geval van wie het was.
De vroegere Landbouwhogeschool heet tegenwoordig "Wageningen University and Research". Een Nederlandse naam schijnt er niet meer te zijn. Wel kun je de website van "Wageningen University and Research" nu (anno 2024) nog in het Nederlands bekijken. Daar staat dan dat de universiteit een "breed aanbod heeft van opleidingen en cursussen op het gebied van gezonde voeding en leefomgeving".
Het woord Landbouw of Agriculture wordt niet meer gebruikt; niet in de naam van de opleiding en niet in de beschrijving. Ook het woord "teelt" bestaat blijkbaar niet meer. Ik studeerde bijvoorbeeld Tuinbouwplantenteelt; tegenwoordig moeten we het doen met een studierichting Plantenwetenschappen.
In 1980 waren we op de Landbouwhogeschool nog serieus bezig met landbouwwetenschappen, het telen van gewassen om voedsel te produceren, diepgaande discussies (in het Nederlands) over belangrijke en minder belangrijke zaken. En ook heel veel exacte vakken. In dat kader volgde ik een vak over de programmeertaal Pascal. Ik kende toen al Basic en Fortran. Maar Pascal vond ik echt een stuk mooier. Neem bijvoorbeeld onderstaande datadefinitie:
type
Datum = Integer;
Relatiesoort = (klant, leverancier, medewerker);
Relatie = record
voornaam, tussennaam, achternaam : string;
adres: array [1..3] of string;
telefoon: string;
geboortedatum: Datum;
soort : Relatiesoort;
end;
Relaties: array of Relatie;
Ik vond dat echt geweldig. Strak, gestructureerd, formeel en heel goed leesbaar.
Terug naar het boek. Het boek ziet er nu heerlijk ouderwets uit. Het papier is gelig en voelt een beetje ruw aan, als kladpapier. En het lijkt alsof de tekst rechtstreeks van een typemachine komt. Alleen aan het feit dat sommige stukken tekst rechts uitgelijnd zijn, kun je zien dat er een (primitieve) vorm van tekstverwerking gebruikt is. Waarschijnlijk achteraf, met zoiets als Runoff.

Het boek gaat vooral over de standaard Pascal-taaldefinitie. Maar elke programmeertaal heeft op elk type computer zijn beperkingen, uitbreidingen en andere bijzonderheden. Het boek beschrijft in hoofdstuk 13 en 14 de implementatie van Pascal op de Control Data 6000 computer.
Maar ja, in die tijd draaide Pascal op de Landbouwhogeschool op een PDP-10 systeem met het TOPS-10 besturingssysteem. TOPS-10 was het eerste operating system waarop je Multi-user Dungeon games kon spelen.
We dwalen af; terug naar Pascal. Op dat TOPS-10 operating system had de Pascal-implementatie zijn bijzonderheden, die natuurlijk niet het boek stonden. Die bijzonderheden kon je dan weer vinden in manuals (handboeken) in de ruimtes waarin de terminals stonden. Dat was in de "Leeuwenborch", het universiteitsgebouw waar het computeronderwijs werd gegeven. Die terminals kon je "afschrijven" (reserveren) voor een paar uur per dag.
Die manuals waren onmisbaar. Tegenwoordig kun je alles op internet vinden, maar toen was je echt afhankelijk van een paar manuals. Die waren uiteraard vastgemaakt aan een tafel, zo dat deze bron van kennis niet meegenomen kon worden.
Er bestonden toen nog geen geïntegreerde ontwikkelomgevingen (IDE's). In die tijd gebruikten we bijvoorbeeld de SOS-editor (een regel-georiënteerde editor voor de DEC-10 computer). En studenten die wat avontuurlijker waren ingesteld, gebruikten de TECO-editor. Heel krachtig, maar je kon er ook zomaar heel je tekst onherstelbaar mee vernaggelen.
Met de editors maakte je een source-file, en die moest je dan in een wachtrij zetten om te laten compileren. Daarna ging ik dan bijvoorbeeld naar de markt om boodschappen te doen. Of ik ging een roeitraining afwerken. Na afloop fietste ik dan weer terug naar het rekencentrum, want tegen die tijd was de compilatie meestal wel gereed. Er lag dan een stapel papier ("kettingpapier") op je te wachten, met daarop een afdruk van de source-code samen met de compileerfouten.
Daarmee ging ik dan naar beneden, waar ik een kop koffie kocht. Met de koffie, de listing van de source-code, de foutmeldingen, het boek Pascal User Manual and Report en een pen ging ik dan aan de slag. Eerst de fouten begrijpen en dan met de pen de benodigde correcties aantekenen. Als ik dan alle aanpassingen had doorgedacht en opgeschreven, ging ik weer naar boven, naar het rekencentrum, om daar de aanpassingen in te voeren en een nieuwe compilatie te laten doen.
Als het programma zonder foutmeldingen compileerde, dan kwam het spannende moment dat het programma getest kon worden. De resultaten werden ook weer afgedrukt op kettingpapier, dat je later weer kon ophalen bij de balie van het rekencentrum. Wij hadden toen nooit gebrek aan kladpapier.
Als je een beetje vroeg begon en goed plande, dan kon je wel 2 keer per dag correcties maken en een nieuwe test uitvoeren. Na een week werkte het programma dan meestal wel.
Ik vond dat echt geweldig om te doen. Toen wist ik ook: na het afstuderen wil ik dit soort werk gaan doen.
We dwalen weer af. Terug naar het boek. Het boek is geschreven door Kathleen Jensen en Niklaus Wirth. Niklaus Wirth ontwikkelde in 1970 de Pascal programmeertaal. In 1974 schreef hij samen met Kathleen Jensen het hier besproken boek. Zoals gezegd, dit boek gaat vooral over de standaarddefinities van de taal.

De taal wordt in het boek op drie manieren beschreven:
- tekstueel, met voorbeelden,
- In de BNF notatie. Klik hier voor meer informatie over de BNF-notatie,
- Met syntaxdiagrammen, zie afbeelding hierboven. Klik hier voor meer informatie over syntaxdiagrammen.
Het formele en gestructureerde karakter van Pascal heeft mij altijd aangesproken. Ook na de studie, toen ik ging werken, heb ik in mijn vrije tijd nog heel lang met Pascal gehobbyd. Ik heb bijna alle versies van Borland's Turbo Pascal gekocht en gebruikt. En later ook Delphi. Maar op een gegeven moment stopte de ontwikkeling van nieuwe versies en toen ben ik er ook mee gestopt.
Tijdens mijn carrière heb ik professioneel gewerkt met COBOL, ABAP/4 en ERP LN. Daarnaast heb ik ook met Python en JavaScript en Visual Basic for Excel gewerkt. Met veel plezier. Maar ik moet zeggen: Pascal is voor mij toch nog altijd de mooiste taal die ik ooit gebruikt heb. Mede dankzij het boek PASCAL User Manual and Report van Kathleen Jensen en Niklaus Wirth.