In januari 1987 – het is al even geleden – begon ik aan mijn bedrijfsopleiding tot TPF programmeur. Daar was ik terecht gekomen door min of meer per ongeluk door de selectieprocedure te rollen. Niet alles in het leven is planbaar, en dit kwam zeker niet in mijn plannen voor.
Enfin.. samen met nog tien anderen begon ik aan de opleiding programmeren in assembler. Het zal de meesten niets zeggen, maar een computerprogramma schrijven in assembler betekent dat je heel dicht tegen de processor aan zit te schrijven. Na een spoedcursus hoe een computer processor werkt leerden we stap voor stap de instructies.
Ik herinner me nog de eerste instructie: MVC wat staat voor ‘move character’. Zo’n instructie zag er bijvoorbeeld zo uit: MVC TARGET(5),SOURCE, wat zoveel betekent dat je de eerste 5 karakters vanaf ‘source’ verplaatst – of beter kopieert – naar ’target’. En daar viel bij mij het kwartje niet direct. Het leek mij persoonlijk vrij zinloos om iets te gaan verplaatsen als het al ergens staat. Omdat ik niet al te dom wou overkomen heb ik de ‘waarom’ vraag wijselijk niet gesteld. Het leek me dat er een reden was dat we juist dit als eerder leerden.
Tijdens het verdere leerproces en vele jaren als assembler programmeur ontdekte ik dat programmeurs vrij vaak gegevens verplaatsen van plaats A naar B. En met goede reden… gegevens uit de database krijgen een kopie in het geheugen, tussenresultaten van een berekening krijgen een kopie, gegevens gaan naar de juiste plek om ze te tonen op scherm, printer of een ander medium.
In het vervolg van de opleiding leerde ik ook de rest van de instructies. Wie nu programmeert zal verrast zijn dat assembler programmeurs met een kleine set instructies alles doen. Onvergelijkbaar met de enorme bibliotheken van moderne computertalen.