05.11.2016 Views

computer-wetenschap-bewerkt

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

114 HOOFDSTUK 57. PLATFORM (INFORMATICA)<br />

programmeur zelf geschreven moest worden. De introductie van de muis, bijvoorbeeld, maakte het makkelijker om<br />

de <strong>computer</strong> te bedienen. En al snel werd de muis geïntegreerd in het besturingssysteem, in die zin dat de meeste<br />

besturingssystemen het mogelijk begonnen te maken om de bewegingen van een muis te volgen door middel van in het<br />

besturingssysteem ingebouwde ondersteuning. Dat wilde echter niet zeggen dat ieder programma dan maar meteen<br />

met de muis bediend kon worden -- hoewel het voor programmeurs mogelijk werd om te letten op het bedienen van<br />

de muis door de gebruiker, moest ieder programma nog altijd omgebouwd worden om op de muis te reageren. Dat<br />

wil zeggen, ieder programma kon te allen tijde opvragen of er veranderingen waren opgetreden in de positie van de<br />

muis door te luisteren naar elektronische signalen die vanuit de muis bij de <strong>computer</strong> binnen kwamen -- het vertalen<br />

van die signalen in een “beweging” en het weergeven daarvan aan de gebruiker (bijvoorbeeld door middel van een<br />

cursor) moest de gebruiker zelf doen. En dit moest per programma gebeuren en voor ieder programma opnieuw.<br />

Hetzelfde gebeurde na de introductie in de personal <strong>computer</strong> van grafische hardware die het mogelijk maakte om<br />

mooie plaatjes op het scherm te toveren. Hiermee werd het mogelijk om programma’s te voorzien van grafische<br />

interfaces. Dat wil zeggen, programma’s konden de hardware instrueren om gekleurde lijnen op het scherm te zetten<br />

om het scherm, lijn voor lijn, te vullen met kleuren totdat het geheel een grafische interface voor de gebruiker werd.<br />

Ook deze moeite moest per programma opnieuw uitgevoerd worden.<br />

Kortom, hoewel de programmeertalen steeds abstracter werden, bleef het eeuwige en steeds erger wordende probleem<br />

van de originele manier van software schrijven dat de nieuwe mogelijkheden veel sneller toenamen dan behapstukt<br />

kon worden door enkele programmeurs die van basis-programmeertalen gebruik maakten.<br />

Sinds halverwege de jaren 70 werd op dit groeiende probleem gereageerd vanuit de ICT-gemeenschap door systemen<br />

te introduceren waarin gaandeweg steeds meer vaak voorkomende taken in de vorm van herbruikbare code beschikbaar<br />

werden. Dit begon met de introductie van software-bibliotheken: verzamelingen van vaak voorkomende stukken<br />

code die hergebruikt konden worden -- bijvoorbeeld door knip- en plakwerk, of later door bij het compileren het<br />

hergebruiken automatisch te laten verlopen, simpelweg via een commando om een bepaald stuk voorgedefinieerde<br />

code te gebruiken. Uiteraard ondergingen ook deze bibliotheken een steeds verdergaande ontwikkeling en abstractie.<br />

Was een grafische bibliotheek eerst iets waarin bijvoorbeeld code te vinden was om een ingekleurde driehoek op het<br />

scherm te tekenen (in plaats van deze zelf helemaal op te hoeven bouwen), modernere grafische bibliotheken bestaan<br />

uit complexe stukken code die hele knoppen, dialogen en vensters op het scherm kunnen produceren met een hele<br />

rits opties erbij ter configuratie van het geproduceerde object.<br />

Uiteraard ontstonden er vele en verschillende van dergelijke hulpmiddelen. Soms onderling concurrerend op het gebied<br />

van een bepaald probleem (er zijn vele grafische bibliotheken beschikbaar), soms sterk specialiserend op een<br />

bepaald doel (niet zomaar een grafische bibliotheek, maar een grafische bibliotheek voor gebruik op het Linux besturingssysteem).<br />

De grote diversiteit en doorgaande ontwikkeling in hulpsystemen zorgde er al snel voor dat niemand in staat was om<br />

een overzicht over het geheel te houden. Sinds het midden van de jaren 80 is het dan ook gebruikelijk dat softwareontwikkelaars<br />

zich specialiseren in het gebruik van een bepaalde verzameling van hulpmiddelen -- een programmeur<br />

schrijft bijvoorbeeld niet zomaar eens software, hij is bijvoorbeeld gespecialiseerd in het schrijven van software die<br />

draait op het Windows besturingssysteem -- en hij is dan ook zeer bekend met het gebruik van de grafische bibliotheek,<br />

de hogere niveau muisroutines, de netwerkondersteuning enzovoorts die geboden worden door Windows, maar niet<br />

noodzakelijk bekend met dezelfde faciliteiten als ze op een andere manier aangeboden worden.<br />

Uit de hierboven beschreven trend zijn zogeheten ontwikkelplatforms ontstaan: ver doorontwikkelde verzamelingen<br />

van hulpmiddelen die de ontwikkelaar van software in verregaande mate ondersteunen bij het schrijven van software<br />

door het aanbieden van allerhande functionaliteit in de vorm van kant en klare, herbruikbare blokken.<br />

57.4 Trends in platforms<br />

Zoals het idee van een ontwikkelplatform zelf uit een trend ontstaan is, zo zijn platforms zelf ook altijd aan trends<br />

onderhevig geweest. De voornaamste trends die de ontwikkeling van platforms vorm gegeven hebben, zijn abstractie<br />

en veelomvattendheid.<br />

57.4.1 Abstractie<br />

Een van de duidelijkste trends in de ontwikkeling van het platformprincipe is de vergroting van de afstand van de<br />

programmeur tot de hardware. Was het ooit zo dat een programmeur voor alles wat hij deed direct de hardware moest

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!