Mijn eerste stappen op programmeergebied zette ik op de MSX computer. Deze start op in MSX-Basic. Een gemakkelijk te leren programmeertaal die inspireert om er zelf mee aan de slag te gaan. Ik heb er vele programmaatjes en spelletjes mee gemaakt.

Wie in de jaren ’80 een 8-bit homecomputer koopt weet niet beter of het apparaat start op in een programmeertaal. De Commodore 64, ZX-Spectrum, Apple II en Amstrad starten allen op in hun eigen basic dialect.

Op het moment dat ik in het bezit kom van een MSX computer in 1990, heeft de opkomst van PC’s en 16-bit computers al een vlucht genomen en is de 8-bit MSX standaard op zijn retour.

Het belet mij er als 10-jarige niet van de magie van het Basic programmeren te omarmen. Niet alleen schrijf ik tientallen spelletjes, ook produceer ik diverse andere programma’s. Op een zoektocht door mijn oude diskettes vind ik een sprite editor, leerprogramma’s voor vreemde talen, een primitieve database, een beroepskeuzetest, een muziekprogramma en een Hiërogliefen vertaler terug.

Een speciale vermelding gaat naar BOSS. Een soort Sim City-game in het… Haags.

Het programmeren leerde ik door boeken uit de bibliotheek te halen en listings over te typen uit computerbladen.

De naam waaronder ik mijn programma’s ontwikkelde veranderde steeds. Achtereenvolgens was ik Jer Der, Lasersoft, Duckiesoft, Sunsoft, Orisoft, Super Orisoft, MiG en Crafty Guppy. Leuk feitje: OSM is oorspronkelijk nog ontwikkeld onder de naam MiG (wat staat voor MSX is Goed).

Bijzonder dialect

MSX-Basic is een bijzonder Basic dialect, omdat het behoorlijk compleet is. Andere computers uit die dagen zoals de Commodore 64 beschikken wel over Basic, maar veel handelingen zoals het tekenen van lijnen, het tonen van sprites of het afspelen van muziek moeten via het direct manipuleren van geheugenadressen gebeuren. De beruchte PEEK en POKE instructies.

Microsoft is de ontwikkelaar van MSX-Basic en er is dan ook een grote gelijkenis met latere producten van Microsoft zoals Q-Basic, VBA en Visual Basic. MSX-DOS is in vele opzichten compatible met MS-DOS.

De mogelijkheid om je fantasie de vrije loop te laten vind ik het sterkste punt van MSX-Basic en van 8-bit computers die opstarten in een programmeertaal in het algemeen. De gedachtegang is dat je zelf met de computer aan de slag moet. Er is dan nog geen internet om alles wat je nodig hebt te downloaden.

Beperkingen

MSX-Basic kent echter ook grote beperkingen, die niet zozeer in de taal gelegen zijn als wel in de snelheid en de geheugenruimte van de computer. Het hart van de MSX computer, is de Z80 processor. Deze tikt op slechts 3.51 Mhz. Omdat Basic een geïnterpreteerde taal is, gaat het niet efficiënt om met de hardware. Een reden waarom serieuze programma’s op de MSX in machinecode geschreven dienen te worden. Ik heb me hier uiteindelijk wel aan gewaagd, maar dat was weer een hele nieuwe uitdaging.

Het geheugen dat je tot je beschikking hebt op een MSX in Basic is slechts 23Kb. Dat is onvoorstelbaar weinig. Hoewel MSX-Basic de curieuze eigenschap heeft dat alle statements zonder spaties aan elkaar kunnen worden getikt, wat ruimtebesparend is maar niet bepaald onderhoudbaar, loop je snel tegen deze grens aan. De reden waarom de eerste voetbalmanager die zou leiden tot OSM wel op de MSX gestart is, maar op een PC met meer geheugen is afgemaakt.

Leren programmeren

De eenvoud waarmee een computergebruiker de kracht van het programmeren leert kennen, blijft echter een sterk punt van die generatie computers. Gelukkig zie je nu op computers en tablets software als Scratch 2 verschijnen, waarmee kinderen weer kunnen worden geprikkeld om programmeren te leren kennen.

Ik denk dat dit een goede zaak is. Een welkome afleiding van het Youtube kijken en spelletjes spelen. Want het blijft een magisch gevoel: om te kunnen maken wat je maar verzint. Zoals Steve Jobs zei: een computer doet voor je brein wat een fiets doet voor je benen.

2 REACTIES

LAAT EEN REACTIE ACHTER

Vul alstublieft uw commentaar in!
Vul hier uw naam in

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.