De Leonardo da Vinci van de IT
De toekomst van programmeren – Declaratieve talen
Van Leonardo da Vinci is bekend dat hij een vliegtuig uitvond voordat de techniek zo ver was om ook daadwerkelijk zo’n ding te bouwen. Het schijnt zelfs dat de ‘ornithopter’ daadwerkelijk zou hebben kunnen vliegen; tenminste, als het je zou lukken om het überhaupt in de lucht te krijgen (en hoe dat moest, dat wist zelfs Da Vinci nog niet).

In de IT komen we een soortgelijk fenomeen tegen. Midden jaren zeventig bedacht de Brit Chris Date de eerste declaratieve programmeertaal. Het bijzondere aan deze manier van programmeren is dat niet het proces wordt beschreven, maar de output die moet worden opgeleverd. Niet alleen bedacht hij
een programmeertaal (SQL), maar ook de relationele database die deze manier van programmeren mogelijk zou moeten maken.
Er was alleen een probleem: de techniek was destijds nog niet ver genoeg om deze databases te kunnen ondersteunen.

Volgens Gert Jan Timmerman, Hoofd Kenniscentrum van Info Support, zouden declaratieve programmeertalen zomaar eens de toekomst kunnen hebben.
Het is overigens niet de eerste keer dat de evolutie van programmeren niet-lineair verloopt. Op dit moment wordt de markt gedomineerd door 3GL- programmeertalen, terwijl rond de millenniumwisseling 4GL al in zwang was.

Hoe zit dat? “Inderdaad kwam 4GL in opkomst na 3GL, zoals je zou verwachten. Het voordeel van 4GL-programmeertalen was dat je vrij snel en eenvoudig kon ontwikkelen, waarbij de nadruk lag op de presentatielaag. Als Info Support zijn we altijd vrij kritisch geweest op 4GL, omdat we vonden dat de controle van data in de database plaats zou moeten vinden.” Meer hierover is te lezen op de pagina ‘Rotsvast vertrouwen in een deugdelijke backend (tegen de trend in)’.

De razendsnelle opkomst van internet gooide echter alles op zijn kop. “Voor het ontwikkelen van webapplicaties bleek 4GL niet geschikt”, aldus Timmerman. “4GL deed veel in de client en browsers waren daar niet op ingericht.”
Vandaar dat ontwikkelaars weer terugvielen op het oude, vertrouwde systeem: “Ik heb in 2004, 2005 meegemaakt dat mensen bij ons op cursus kwamen, die een hele tijd uit de running waren geweest. Ze waren nog gewend om met 4GL te werken in de jaren negentig en ervoeren het alsof we in de tussentijd een stap terug hadden gemaakt.”

“Toen relationele databases werden ontworpen, was de techniek nog niet ver genoeg.”