Slechte programma's bestaan. Slechte programmeurs ook. Slechte programma's zijn gemaakt door slechte programmeurs. Er is wel eens gezegd: programmeren is een ambacht. Daar valt wel het een en ander op af te dingen maar programmeren vergt zeker een bepaalde handigheid. Één mythe moet alvast de wereld uit: je hoeft geen wiskundige te zijn om goed te kunnen programmeren.
Dit compendium is bedoeld als wegwijzer voor 1e jaars studenten bij de introductie van het programmeren. Het beoogd die handigheidjes aan te reiken die van belang zijn om goede programma's te schrijven.
De opzet is een overzicht te geven van de praktische uitwerking van de theorieën achter het programmeren zonder die theorieën zelf te verklaren of te onderbouwen. Concreet komt dit neer op een korte beschrijving en uitleg vergezeld van een illustratief voorbeeld.
Niet, of slechts zijdelings, komen zaken aan de orde zoals gestructureerde en object georiënteerde methodieken binnen de software engineering. Evenmin wordt uitgebreid aandacht besteed aan IDE's (Integrated Development Environments). De focus ligt hier op het implementatietraject.
Bij de praktische behandeling van het programmeren kan niet ontkomen worden aan de keuze van een programmeertaal. Als implemetatietaal is daarom gekozen voor de breed geaccepteerde industriestandaardtaal C. Bovendien zijn er nogal wat talen die sterk verwant zijn aan C, zoals (natuurlijk) C++ en C#, maar ook programmeer talen zoals PHP, Perl en Java. Daar waar mogelijk worden ook verschillen met Java aangegeven.
Ontwikkelgereedschappen voor C programmeren en Java zijn ruim beschikbaar, commercieel en public domain. Er is niet gestreefd naar het koste-wat-het-kost vertalen van staande Engelstalige terminologie naar het Nederlands. Het vak programmeren is zeer Engelstalig en een niets ontziende vertaling zou veel van de zeggingskracht verloren laten gaan.
Deze tekst is uitgegaan van de C specificatie ISO/IEC 9899-1999 (C99) en van de Java specificatie versie 3.:
Samuel Harbison en Guy Steele, C: A Reference Manual (5/e: 2002), Prentice Hall.
James Gosling, Bill Joy, Guy Steele, Gilad Bracha, The Java Language Specification (3/e: 2005), Sun
Microsystems, Inc.