Er is de afgelopen dertig jaar wel degelijk veel vooruitgang geboekt in het sneller en beter ontwikkelen van software. De huidige tools bewijzen hun dienst maar al te zeer, aldus Joost van Santen in een reactie op een column van Rick van der Lans.
De teneur van de column van Rick van der Lans (Computable, 16 maart) is min of meer dat de technologie de afgelopen dertig jaar wel veranderd is, maar dat dat niet geholpen heeft om software sneller en beter te construeren. Mijn ervaringen zijn geheel anders! Ze liggen in het construeren van software met een sterk technische kant. Het betreft dus niet database-, internet- of client/server-toepassingen, maar software die technische sommen snel, efficiënt en inzichtelijk moet uitvoeren. Op dit gebied is er wel degelijk een revolutie geweest en nog steeds gaande.
Zo’n twintig tot dertig jaar geleden was het in mijn vak inderdaad Fortran wat de klok sloeg. Maar naast Fortran kenmerkten de toepassingen zich ook door uitvoer op een regeldrukker en 300 bauds datalijnen, waardoor je zuinig moest omgaan met gegevens: niet teveel graag. Het ontwikkelen vergde ook een soort zuinigheid. Veel op de ‘source-prints’ aangeven, en dan maar weer editen en compileren. Dat er de afgelopen dertig jaar wel degelijk winst geboekt is, wil ik illustreren aan de hand van het volgende voorbeeld.
Recentelijk heb ik een Fortran-programma van circa 20000 regels omgezet naar een Delphi/Pascal- programma van circa 16000 regels code. Alles is omgezet, er staat geen woord Fortran meer in.
Het programma omvat een berekening van hydrostatische eigenschappen van drijvende constructies en draaide in eerste instantie op een mainframe. In de loop der tijd is dit geëvolueerd tot een ‘Compaq quickwin’-applicatie, draaiend onder MS Windows. Maar het regeldrukkerprincipe en de invoer via het toetsenbord bleven. Toentertijd koste de basis opzet van het programma circa acht weken. In de loop der tijd is er het nodige bijgebouwd waardoor het programma, naar ik schat, circa twee keer zo groot is geworden. De omzetting naar een volwaardige MS-Windows toepassing middels Delphi koste slechts zes weken. Sommige delen konden redelijk goed gekopieerd worden, maar andere delen zijn geheel vernieuwd. Dat vernieuwen was nodig vanwege het onderhoud. De Fortran-code was slecht onderhoudbaar, mede door het ontbreken van ‘records’ (of ‘structures’) en omdat de scope van variabelen in Fortran niet goed te beperken was. De stap naar Delphi als ontwikkel-tool is dus heel bewust gedaan, met als evident voordeel een betere onderhoudbaarheid en een kort ontwikkeltraject. Misschien is de vergelijking niet geheel fair; ik heb nu immers meer ervaring dan toen, maar toch. Als het programma weer in Fortran geschreven had moeten worden, was een aanmerkelijk ruimer budget nodig geweest.
Ook aan de interface-kant is het nodige veranderd in de afgelopen jaren. Juist dankzij de moderne tools zijn software-constructeurs in staat om snel en foutloos een interface te maken, waarmee de huidige gebruiker goed kan werken. Met de middelen van dertig jaar geleden was dat absoluut onmogelijk. Naar mijn mening verdient een omzetting zoals boven geschetst zichzelf op langere termijn dan ook terug door de snelheidswinst in het gebruik. Bovendien bieden de huidige tools een snelle en flexibele aanpassing van de gebruikersinterface zodat eventuele nieuwe functionaliteit redelijk soepel is in te passen.
Joost Van Santen Dordrecht