Online Ada boeken
=================
2022-09-02
Ik houd heel erg van boeken. Het liefst heb ik ze met echt
papier, maar als het nodig is accepteer ik digitale
alternatieven. Als ik een nieuwe programmeertaal leer dan
begin ik ook het liefst met een boek in plaats van
tutorials. Voor Ada is Programming in Ada 2012 van John
Barnes het aangewezen standaardwerk. Deze en de Ada 2012
Reference Manual en de Rationale heb ik altijd binnen
handbereik van mijn pc. Hoe geweldig deze werken ook zijn,
ze kunnen voor de beginner wel wat overweldigend zijn. De
Reference Manual is bijvoorbeeld ruim 900 pagina's en dat is
niet iets dat je eenvoudig van kaft tot kaft doorleest.
Daarom vind ik het vaak prettig om te kijken naar oudere
boeken over een programmeertaal, toen het leven nog
eenvoudiger was en het programmeren spartaanser. Gelukkig
kan je nu via de Internet Archive [1] en de Open Library [2]
een weelde aan oude Ada boeken lenen en lezen.
Een paar jaar geleden heb ik stevig ge-marie-kondoot en
daarbij ook een hoop boeken weggedaan waarvan ik dacht dat
ik ze niet meer nodig zou hebben. Daarbij heb ik ook een
aantal oude Ada boeken naar de kringloop gebracht en daar
heb ik achteraf spijt van gekregen. Toen ik weer begeesterd
raakte door deze taal wou ik juist terug kunnen grijpen naar
Ada's geschiedenis. Daarom heb ik een paar maanden geleden
de reference manual gekocht van wat later bekend zou worden
als Ada 83. Het is een overduidelijk gefotokopieerd werkje
van Springer-Verlag in hun Lecture Notes in Computer Science
serie en inclusief appendices, index en bronnen is het
slechts 244 pagina's. Het aardige is dat je heel goed kunt
zien dat Ada 83 al een complete taal was met alles erop en
eraan. Ik zou nog steeds heel tevreden mijn werk kunnen doen
als ik alleen Ada 83 zou mogen gebruiken. Weliswaar zou ik
het zonder wat "quality of life" dingetjes moeten stellen
waar ik aan gehecht ben geraakt, maar het is niet zoals bij
een taal als PHP waarbij het verschil tussen zeg versie 3 en
8 dusdanig groot is dat je bijna van een andere taal kunt
spreken.
Het grote voordeel van een taal in historisch perspectief te
plaatsen is dat je je eigen kennis ook langzaam en doelmatig
kunt opbouwen. Mijn ervaring is namelijk dat de dingen die
je gaandeweg van een taal wenst vaak redelijk overeenkomen
met de natuurlijke evolutie die een taal heeft doorgemaakt.
Dit is niet zo vreemd natuurlijk, want het zijn juist de
dingetjes waar mensen in de praktijk tegenaan lopen die de
voortgang van een taal kunnen stuwen.
Toch is het niet altijd superhandig om al je kennis van een
taal stapje voor stapje de evolutie te laten volgen, want er
zijn aardig wat talen die zulke grote ontwikkelingen
doormaken dat een programmeerstijl van 20 jaar geleden nu
als naïef en primitief beschouwd zou worden. C++ en PHP zijn
hier voorbeelden van. Wat nu wordt beschouwd als "moderne"
C++ lijkt nauwelijks meer op de C++ die ik leerde toen ik de
taal voor het eerst ontdekte. Maar ook bij C++ gaat niet
iedereen mee met de vaart der volkeren en zijn er
programmeurs als Casey Muratori die er expliciet voor kiezen
om een eenvoudiger en oudere stijl aan te houden.
Ada is echter een taal waarbij je heel goed kunt starten met
een oudere versie, zeg Ada 83 of Ada 95 en van daaruit je
kennis kunt opbouwen. Ada wordt wel eens verweten dat het
een bureaucratisch "designed by committee" moloch is, maar
een voordeel ten opzichte van veel andere talen is dat het
een hele logische en zorgvuldig opgebouwde featuregeschie-
denis heeft. Zo zie je relatief weinig backwards
compatibility brekende veranderingen, maar vaak geleide-
lijke uitbreidingen en opname van features uit andere
of verwante talen.
Om deze taalontwikkeling nu helemaal na te lopen en te
bekijken in zijn historische context hoef je nu niet meer
peperdure tweedehandsversies op te snorren. Je kunt nu
gewoon gebruik maken van de Open Library en dat lijkt me met
het oog op het klimaat ook wel zo handig.
Hyperlinks:
[1]:
https://archive.org/search.php?query=%22Ada+%28Computer+program+language%29%22&page=2
[2]:
https://openlibrary.org/search?q=ada&mode=everything&subject_facet=Ada+%28Computer+program+language%29
------------------------------------------------------------
Tags: ada, nederlands