|
Voorwoord
De programmeertaal C werd oorspronkelijk ontwikkeld door Dennis Ritchie
Van Bell Laboratories en was ontworpen om op een PDP-11 te draaien
onder het UNIX besturings-systeem. Hoewel C bedoeld was om onder UNIX
te draaien, was er toch ook in de MS-DOS wereld een groeiende interesse
waarneembaar, vooral op de IBM PC en compatibles. Het is een taal bij
uitstek voor deze omgeving, vanwege de eenvoud om te programmeren, de
compactheid van de code en de grote mate van toepasbaarheid.
C is niet direct een taal voor beginnende programmeurs, omdat een
programma listing er wat cryptisch uitziet. Een programmeur kan er wel
allerlei soorten routines mee maken op zowel hoog als laag niveau (tot
bijna assembler). Er lijkt geen einde te zijn als het gaat om de
mogelijkheden. Een geoefende C programmeur heeft eens gezegd dat
je werkelijk alles kunt programmeren in C. Die gedachte
wordt ondersteund door de ervaringen die ik zelf met de taal opgedaan
heb. Het is echter wel zo, dat de vrijheid die de taal biedt ook
tegelijkertijd de nodige verantwoordelijkheid vraagt. Het is namelijk
niet zo moeilijk een programma te schrijven dat zichzelf
ophangt gedurende de uitvoering. De compiler zal niet
waarschuwen en veel toestaan. In C komt het voornamelijk op jezelf aan,
hetgeen je allemaal gaat ontdekken.
Juist omdat C geen taal is voor beginners, gaat deze cursus er vanuit
dat je al de nodige ervaring op het gebied van programmeren hebt. Je
moet inmiddels weten wat een variabele is bijvoorbeeld.
Voorkennis van C is voor deze cursus echter niet nodig. De cursus start
met de meest eenvoudige basis concepten om vervolgens steeds dieper op
de taal in te gaan, waarbij uiteindelijk ook de moeilijke concepten als
pointers, structuren en dynamisch geheugen aanvragen aan bod komen. Om
deze concepten goed te begrijpen, zul je wat tijd moeten nemen.
Doorgaans worden deze laatste onderwerpen moeilijk gevonden. Ze zullen
je een krachtig gereedschap in handen geven.
Programmeren in C is een behoorlijke stap vooruit op die plaatsen waar
je anders Assembler toe zou passen. Het gaat sneller en de programma's
zijn makkelijker te onderhouden. Een Assembler programma is wel sneller
als een C programma, echter de tijd nodig om een Assembler programma te
schrijven is vele malen groter.
Omdat de taal C oorspronkelijk door een persoon werd ontwikkeld, en niet
door een committee, was het weliswaar een goed toepasbare taal maar nog
niet goed gedefinieerd. Er was vroeger geen C standaard. Tegenwoordig
is die er in de vorm van ANSI C. Hoewel er om die reden veel verschil
te verwachten valt, blijkt in de praktijk dat C programma's voor verschillende
compilers toch goed uitwisselbaar zijn. Hoewel C programma's dus goed
overdraagbaar zijn naar compilers van andere fabrikanten, zul je in de
toekomst toch specifieke verschillen gaan ontdekken. De meeste verschillen
zitten dan in aanroepen van het besturings-systeem of van specifieke hardware.
Het is echter mogelijk deze verschillen, met een minimum aan extra programmeer
inspanning, te overbruggen door van te voren een goed doordacht programma
ontwerp te maken.
|