Jubileum
“Ja, duh, niet met je tijd meegegaan?”
“Toch wel, hoewel ik moet toegeven dat ik meer Sarahs en Abrahams zie dan pasgeborenen.”
“Van die oubollige bijeenkomsten, waarbij de familie een kreupel alfabet heeft gemaakt?”
“De A is van Ada, met wie het allemaal begon,
de B is van Boehm, die goed rekenen kon,
de C is een taal die machines verstaan,
want Cobol, ja, wie begint daar nog aan;
de D is van Dijkstra, wie kende hem niet
de E van ervaring en die hadden we niet.”
“En na de data-dictionary van de vijftigjarige volgt de levensloop.”
“Beste familie van de jubilaris. Ik herinner me, toen software engineering nog in de kinderschoenen stond, de eerste rekenautomaat die ook die naam droeg: een ZEBRA, de Zeer Eenvoudige Binaire Reken Automaat, in Leidschendam en later ook in Groningen. Het onderhoudsteam hield zich voornamelijk bezig met het vervangen van de buizen waarvan de gloeidraad doorgebrand was. De hoeveelheid geïnstalleerd vermogen was in de orde van 6 Watt per bit. Code werd met schakelaars, ponsband en later met ponskaarten in de machine gebracht. Ponskaarten hadden 80 kolommen per kaart, printers waren 80 of 132 karakters breed, het trommelgeheugen en het schijfgeheugen streden nog om een eerste plaats en het achtergrondgeheugen stond op tape.”
“En de goegemeente mompelend: O ja, ik heb nog zo’n tape op zolder; waar kan ik die nog laten lezen?”
“Software engineering bestond toen uit het programmeren van die automaten; we definieerden syntax en semantiek van talen, schreven compilers en operating systemen en bewezen wiskundig de correctheid en compleetheid van onze oplossingen.”
“Wanneer werd software engineering volwassen?”
“Misschien is het kernbegrip voor volwassenheid wel normbesef.
De industriële toepassing van ingenieurswetenschappen begon met het besef dat, met een standaard voor schroefdraad, de schroef en de moer universeel toepasbaar en uitwisselbaar werden. Niet het bestaan van de standaarden, maar het toepassen ervan maakt het vak volwassen. Dat is dat normbesef.
En standaarden werden toen gemaakt in allerlei maten en soorten. Technische standaarden voor binaire notaties van grote, heel kleine en negatieve getallen. Standaarden voor binaire representatie van letters en cijfers. Normen voor de betrouwbare uitwisseling van gegevens tussen automaten. Foutdetectie- en foutcorrectiecodes. Protocollen met ontvangstbevestiging. En ook standaarden voor programmeertalen, ieder met een eigen toepassingsgebied of gebruikersgemeenschap.”
“Standaarden, ieder houdt ervan. Ieder zijn eigen standaard?”
“Dus ontstonden ook dialecten, met name in geïsoleerde gemeenschappen, met elk hun eigen aanhangers en volgelingen, van gematigd tot fanatiek.”
“En ook een eigen politieke agenda, inclusief commerciële invloed en macht. We hebben het toch nog steeds over software engineering?”
“In haar jeugd woedde ook de strijd tussen procedurele aanpak en datastructuuraanpak. Methodes voor gestructureerd programmeren en voor gegevensopslag en -ontsluiting. Methodes die elkaar nauwelijks begrepen, de één sprekend in termen van interrupts, stacks en microseconden, de ander sprekend over time sharing, caching en milliseconden. Daarnaast had je de meer exotische werelden zoals die van de matrixmanipulatie en die van de kunstmatige intelligentie, ook elk met eigen talen en methoden.
In de adolescentie van de software engineering brak het begrip door dat het vakgebied steeds als doel had de complexiteit te beheersen. Dat het vakgebied de kennis over software abstraheert, modelleert en communiceert.
Kennis over software als middel waarmee je apparaten bestuurt. Kennis over software als middel waarmee je systemen bestuurt. Kennis over het maken en onderhouden van software door kleine en grote groepen bouwers: architecten, ontwerpers, programmeurs, testers, controleurs. Kennis over de inrichting van de softwarefabriek met processen, rollen en verantwoordelijkheden, planning, aansturing en controle.
Naast de technische standaarden ontstonden standaarden voor processen én culturen van proces- en productcontrole, inclusief (eveneens gestandaardiseerde) audit en assessment methodes.”
“Oké, dat was de historie. En dan nu, dames en heren, status en vooruitzicht! Is deze jubilaris door zijn midlifecrisis heen?”
“Als je vraagt: heeft software engineering een bestaansrecht in deze wereld, dan is het antwoord een volmondig: ja!
Maar als je vraagt: is dit nu alles, dan is het antwoord: bij lange na niet. Er zijn nog hele werelden te ontdekken en te veroveren.
Software is niet langer een middel waarmee apparaten en systemen worden bestuurd. Software is, bedoeld of onbedoeld, een middel geworden waarmee mensen worden bestuurd. Waarmee groepen worden bestuurd. Waarmee samenlevingen worden gesmeed en uiteen gedreven.
Wij wensen daarom het vakgebied en haar beoefenaren, naast een lang leven, vooral veel wijsheid.”
“Amen en proost!”
Reacties
Om een reactie achter te laten is een account vereist.
Inloggen Word abonnee