ICT Geschiedenis
BASIC

Home

ICT geschiedenis | Projecten | Nieuws | @ MAIL | Contact | Archief | Wat volgt

Heimwee naar Basic


Dertig jaar geleden ontstond Basic, de programmeertaal voor gewone mensen. Na een ongekende populariteit in de jaren tachtig, zit deze taal nu diep in het slop. Microsofts Visual Basic moet daar verandering in gaan brengen.
Voor meer dan 8 miljoen mensen in de hele wereld is Basic de eerste kennismaking met programmeren geweest. Op middelbare en soms al op lagere scholen werd Basic - Beginners All-purpose Symbolic Instruction Code - onderwezen omdat het 'een van de gemakkelijkste hogere programmeertalen is en een van de bruikbaarste', volgens de toen heersende mening.

Roelof Roos was 13 toen hij met Basic kennismaakte. Hij herinnert het zich nog goed hoe hij, aangespoord door vriendjes, na schooltijd naar het Museum voor Onderwijs ging, waar een stuk op tien Commodore PET-computers stonden voor openbaar gebruik. "Er waren altijd twee keer zoveel kinderen als dat er computers vrij waren. Dus moest je na een half uur je plaats afstaan. In die tijd stonden de programma's op cassettebandjes, dus die moest je snel uit de speler halen, anders deden anderen dat wel voor je".

De eerste programma's haalde hij uit boekjes. Het waren voorbeelden die de werking van Basic illustreerden. Een programmaregel begon altijd met een decimaal regelnummer dat per regel opliep en in de laatste programmaregel altijd een 'end' in zich droeg. De kortste programma's waren soms maar zes regels lang, en lieten de computer een optelsom uitrekenen, of drukte eindeloos je naam af op het scherm. Favoriete toepassingen van Basic waren spelletjes: Mastermind, Pacman en 'pong' - een rudimentair tennisspel-. Als alle ingetypte regeltjes samen ook bleken te werken, was het gevoel van triomf bijna onbeschrijflijk. Ineens was je programmeur! Duizenden jongens en vaders - meisjes zijn altijd ondervertegenwoordigd geweest bij programmeren - zaten avond aan avond aan het beeldscherm gekluisterd met boeken, listings, kladpapier en soms wildvreemde Basic-fanaten om zich heen. Roos: "Destijds was een computer zo duur, dat je in een Tandy-winkel gewoon op iemand afstapte die zo'n computer kocht en vroeg je of je er op mocht werken. Dat mocht, en dan zat je in vreemde huiskamers achter een computer."

'Mentaal verminkt'
Basic is dertig jaar oud. Ze werd in 1964 geintroduceerd door Thomas Kurtz en John Kemeny. De twee hoogleraren van het Darthmouth College in Amerika hadden maar een doel voor ogen: een taal maken die eenvoudig genoeg was voor nietprogrammeurs. Voor hun studenten, die overwegend niet-technische studies volgden, was de computer namelijk geen doel, maar een middel om problemen op te lossen.

Begin jaren zestig was de keuze klein. Het was Cobol of Fortran. Beide talen zijn specialistisch. Niet alleen het schrijven van het programma, ook het compileren en debuggen vereiste een behoorlijke kennis van programmeertalen. Programma's werden niet op een scherm ingetypt, maar in ponskaarten gestanst. Een pakket kaarten - een batch - werd door de computer ingelezen, geinterpreteerd, in machinetaal vertaald (gecompileerd) en uitgevoerd. Fouten in de syntax, in de grammatica of in de logica van het programma kwamen een voor een naar voren en moesten stuk voor stuk verholpen worden. Een tijdrovende manier van werken.

Met Basic werd het schrijven van een programma stukken makkelijker: het programma leek op gewoon Engels, had minder ingewikkelde opdrachten en een liberale grammatica. Basic deed bijvoorbeeld niet moeilijk over punten en komma's. Het belangrijkste gemak van Basic was dat de computer het programma per regel interpreteerde, zodat de programmeur niet eerst zijn hele stapel ponskaarten hoefde te laten inlezen om een fout te vinden. Die eigenschap dankte Basic aan het feit dat de taal ook werd gebruikt om de mainframe als een soort zakrekenmachine te gebruiken. Je typte 'print 4+5' en na het sluiten van de regel antwoorde de computer direct met '9'. Een hele revolutie voor die tijd.

Kurtz en Kemeny kregen ook veel kritiek. Vooral uit de hoek van de informatici. Omdat Basic anders van opzet was dan Fortran en Cobol, vonden sommige informatici dat Basic het predikaat 'hogere programmeertaal' niet verdiende. Het ontbreken van 'structuur'- Basic hanteerde geen vaste grammaticaregels - zou bovendien niet aanzetten tot logisch ontwerpen en schrijven van een programma. De kritiek concentreerde zich op de 'goto'-opdracht, een commando waarbij de computer naar een andere plaats in het programma springt en zo gemakkelijk in een eindeloze lus geholpen kan worden. Andere programmeertalen kenden ook sprongopdrachten, maar die waren aan strenge regels gebonden. In Basic sprong men maar raak.

Dankzij de goto ontaardden programma's soms in iets dat op een bord spaghetti leek: als je je bestek ergens in zo'n programma zette, wist je nooit wat er elders in de programmatuur allemaal ontregeld raakte.

Professor E. W. Dijkstra, hoogleraar computerkunde aan de universiteit van Austin, Texas, werd de meest fervente tegenstander van Basic. Basic werkt volgens Dijkstra en zijn schare aanhangers 'slecht' programmeren in de hand. In 1975 schrijft hij: "Het is praktisch onmogelijk om studenten goed te leren programmeren als ze met Basic in aanraking zijn geweest: als potentiele programmeurs zijn ze mentaal verminkt, en zijn ze niet meer te genezen."

Toen Roos begin jaren tachtig informatica in Delft ging studeren, en hij geconfronteerd werd met het standpunt van Dijkstra, maakte hij zich eventjes zorgen over zijn Basic-verleden. Maar al snel kwam hij erachter dat het wel meeviel: "In welke taal je ook leert programmeren, je moet logisch en gestructureerd werken, anders ben je geen goede programmeur. Ik ben dus absoluut niet verpest door Basic".

Twintig versies
Ondanks het academische dispuut werd Basic een populaire taal in het onderwijs en op zolderkamers. De wereld telde in de jaren zeventig miljoenen Basic-programmeurs, in alle leeftijden. De populariteit is deels te danken aan Kurtz en Kemeny, die Dartmouth Basic nergens lieten vastleggen of standaardiseren. Daardoor kon het gratis door producenten als Microsoft worden overgenomen. Voor iedere machine werd wel een Basic-versie ontwikkeld.

In de hoogtijdagen waren meer dan twintig verschillende varianten in zwang, soms met extra of aangepaste commando's. Dat bracht Kurtz en Kemeny te laat op het idee te werken aan een standaard-Basic-taal. In 1980 starten zij het bedrijf True Basic dat een ideale standaard-Basic moest opleveren. De kenmerken lieten ze vastleggen in regels van het Amerikaanse normalisatieinstituut ANSI.

Maar het was toen te laat. True Basic heeft nooit een kans gehad, omdat de de facto norm al bestond: GW Basic, later QBasic, van Bill Gates en Paul Allen dat halverwege de jaren zeventig is uitgebracht. IBM en Microsoft leverden bij iedere PC die de winkel verliet naast het besturingssysteem DOS ook de GW-Basic-interpreter.

Tot eind jaren tachtig blijft Basic de meest gebruikte programmeertaal in de onderwijswereld en in de prive-sfeer. Maar daarna ging het snel bergafwaarts. Die plotselinge neergang is voor een deel te wijten aan de komst van nieuwe, op moderne programmeerprincipes gebaseerde talen. Zo zijn er in de educatieve sfeer speciale voor kinderen geschreven talen als Logo (speciaal voor educatie) en Pascal: "Zelfs de kinderen van mijn baas programmeren tegenwoordig in Turbo Pascal", vertelt een programmeertalenspecialist. Een andere en steviger nagel aan de doodkist van Basic is dat PC-gebruikers niet meer programmeren. Wie heeft er nog zin om avonden lang codes in te toetsen voor een armzalig resultaat, als de kant-en-klare videospelletjes, database- en administratieve toepassingen je om de oren vliegen? Software wordt dikwijls standaard bij de computer geleverd, daar kruipt niemand meer voor achter de PC.

De komst van nieuwe PC-besturingssystemen, het algemeen gebruik van Windows, maken het zelfs moeilijker in Basic te programmeren. Een programmeur moet rekening houden met schermen, schermopbouw en complexe mogelijkheden in de nieuwe interfaces. De programmeeractiviteiten van de meeste gebruikers bewegen zich tegenwoordig op een heel ander vlak, waarbij het er vooral om gaat bestaande software op een handige manier aan elkaar te koppelen. Basic is daarvoor veel te omslachtig. Liever gebruikt men dan ook zogenoemde scripttalen die veel beter gebruik maken van de hardware en huidige programmeertechnieken.

Onherkenbaar
De zwakke technische punten - traagheid en het ontbreken van modulaire aanpak - werden Basic halverwege de jaren tachtig bijna fataal. De taal was aan een dramatische vernieuwing toe, daar was iedereen het over eens. Ze moest worden aangepast aan een nieuwe tijd: met een grafische interface en muisgestuurd.

De grote motor achter de transformatie van Basic werd Microsoft. Twee jaar geleden presenteerde het concern Visual Basic. Een grondig vernieuwde versie die eigenlijk nauwelijks nog op het oude Basic lijkt. Visual Basic bouwt een programma niet op uit eenvoudige instructies zoals vroeger, maar uit kant-en-klare blokjes die uit een catalogus kunnen worden aangeschaft. Deze zogenaamde objecten zijn complete programmaatjes. Zo is er een object dat ervoor zorgt dat er een OK-knop op het scherm verschijnt die met een muis aangeklikt kan worden. Plaatst men het knopje op een tekstverwerk-object dan wordt het een soort aan-uit-knop om de tekstverwerker te starten.

Er zijn nu zo'n 400.000 versies van Visual Basic in gebruik. Dat is nog lang niet het aantal dat van het oude Basic in roulatie was, en is ook nog niet vergelijkbaar met de verspreiding van talen als Pascal (volgens tellingen van het softwarebedrijf Borland zijn daar ruim 2 miljoen versies van in gebruik) en van C++ waarvan 3 miljoen versies in gebruik zijn.

Visual Basic heeft met deze moderne talen vergeleken twee voordelen, die tegelijk misschien wel de belangrijkste overeenkomsten met het oude Basic vormen. De taal is relatief eenvoudig te leren en doet een bescheiden beroep op het computergeheugen. Maar daar houdt de parallel beslist op: Visual Basic is niet geschikt voor doe-het-zelvers en programmeergrage jeugd. Het echte Basic-gevoel is voltooid verleden tijd.


Yvette Cramer

Intermediair 4 november 1994
Copyright Intermediair