Ik beschouw mezelf niet als een groot talenwonder. De eerste kans die ik had op de middelbare school om Duits en Frans te laten vallen, greep ik direct aan. Toch beheers ik inmiddels 15 verschillende talen: programmeertalen.
De eerste computertaal waarmee ik in aanraking kwam was Basic. Het dialect GW-Basic (1) op de PC om precies te zijn. Hiermee maakte ik mijn eerste zeer eenvoudige programmaatjes. Deze eerste probeersels stelden eigenlijk niets voor, maar ik vond het fascinerend hoe door bepaalde opdrachten aan elkaar te knopen, een programma tot leven kwam.
Het werd pas echt leuk toen ik mijn eerste computer kreeg, de MSX1. Hierop was MSX-Basic (2) standaard meegeleverd. Omdat ik niet veel spelletjes had begon ik ze zelf te maken. Eerst door lange listings over te typen uit computerbladen, later beheerste ik het goed genoeg om eigen ideeën uit te werken. MSX-Basic was zeer eenvoudig, statements werden op regels gezet aangeduid door regelnummers. Het was mogelijk om zonder spaties alles aan elkaar te plakken, wat kostbaar computergeheugen spaarde maar uiteindelijk onleesbaar werd.
De MSX2 voegde een aantal commando’s aan MSX-Basic toe en ik leerde een klein beetje Assembler (3) op de MSX te programmeren. De magie daarvan vond ik dat je rechtstreeks tegen de processor aanpraatte. In mijn beleving was dit de hoogste vorm van programmeren: ongekend moeilijk maar onovertroffen efficiënt.
Toen de MSX computers hun beste tijd hadden gehad, verschoof ik mijn aandacht naar de PC, om wederom bij een Basic-variant uit te komen: QuickBasic (4). Hierin maakte in de eerste voetbalmanager, die later de basis zou vormen van Online Soccer Manager.
Dit project was ik gestart op de MSX, maar het interne geheugen bleek al snel niet voldoende. In QuickBasic had ik dit probleem niet. Het was bovendien voor het eerst mogelijk om programmacode te schrijven zonder regelnummers. Een hele vooruitgang.
Voor de PC waren er meer opties en hoewel ik dus opgegroeid ben met Basic, zag ik al snel de beperkingen daarvan in. Ik richtte me daarom op de procedurele taal Turbo Pascal (5) en gebruikte het om onder meer Avalon en MiGTracker Pro te schrijven.
De opvolger van Turbo Pascal heet Borland Delphi (6). Met Delphi maakte ik een aantal van de kleine tooltjes waarmee ik op internet geld probeerde te verdienen en de partygame Avalon Arena.
Hoe mooi Delphi destijds ook was, mijn informatica opleiding die ik inmiddels gestart was, besteedde er geen aandacht aan. Ik moest me bezig houden met de programmeertaal C (7), waar ik niet bepaald enthousiast van werd. Ook in Java (8) heb ik me nog een tijdje moeten verdiepen. Ik begreep toen heel weinig van de voor Java kenmerkende object oriëntatie, maar dat belette me niet om er een kleine space invaders game in te maken.
Naast mijn studie werkte ik als bijbaan in een kalendergroothandel. Daar had men een pakket dat was ontwikkeld in Visual Basic (9). Voor mij een eitje om te leren, gezien mijn affiniteit met Basic dialecten. Met Visual Basic heb ik lang gewerkt. MiGTracker Millenium en de engine van Online Soccer Manager heb ik erin geschreven.
Het internet fascineerde me, maar om websites te kunnen maken waren weer andere talen nodig. Zoals Javascript (10) en Classic ASP (11), een eenvoudige Basic variant voor internetpagina’s. In een lang weekend bouwde ik met twee vrienden de website HitHarvester en leerde zo al doende. Online Soccer Manager is later ook in Classic ASP geschreven. Om tegen databases aan te praten is SQL (13) noodzakelijk.
PHP (12) was en is een veelgebruikte taal op het web. Hoewel het me nooit echt heeft kunnen bekoren, zorgde de populariteit ervoor dat ik er toch aan moest geloven.
Tot slot heb ik me recentelijk gericht op C# (14) (uit te spreken als C-sharp). Ik moest voor mijn gevoel helemaal opnieuw beginnen, want C# had veel nieuws voor me te bieden. Het was echter wel de moeite waard, want ik werk er nu nog steeds met veel plezier mee.
Ik was echter nog steeds niet klaar, want voor OSM moest een iPhone app geschreven worden. Vanwege het eigen ecosysteem van Apple was ik verplicht met frisse tegenzin Objective-C (15) te leren. Geen sinecure en ik ben er nog steeds geen fan van. Maar de app is er in elk geval.
Naast deze talen heb ik kleine projectjes gedaan in Cobol, Fortran, Logo, PowerBuilder, JSP, VBScript, ActionScript, ColdFusion en C++. Er lijkt geen einde te komen aan de programmeertalen en allemaal hebben ze hun voor- en nadelen.
Programmeertalen kunnen sneller aangeleerd worden dan gewone talen omdat ze een beperkte woordenschat kennen. Dat neemt echter niet weg dat het aanleren van elke nieuwe taal inspanning kost die ik liever aan andere dingen zou besteden. Desondanks heb ik door de jaren heen toch heel wat talen tegen wil en dank opgepikt.
Als programmeur moet je blijven leren. Het wordt wel steeds moeilijker, lijkt het. Ik zal wel een dagje ouder worden.
[…] Bowie kon me een beetje helpen. Als programmeur was ik in staat om MSX-BASIC te combineren met machinetaal (Z80 assembly) waardoor op de plekken waar dat nodig was de beoogde snelheid kon worden […]
Update: Python +1
Update: TypeScript is er nu nog bijgekomen.
Meestal in de Nieuws & Updates en de weinige forumposts eigenlijk. 😛
Je mag me erop wijzen… 😉
Waar gaat het fout?
Toch maak je nog veel grammaticale fouten…