Vorwort
C ist wohl eine der bedeutendsten Programmiersprachen unserer Tage und wurde daher naturgemäß in unzähligen Büchern behandelt. Manche Werke befassen sich sehr eingehend mit der Mächtigkeit der Sprache, andere verstehen sich lediglich als Einführung. Es gibt Literatur, die sich hauptsächlich an fortgeschrittene Programmierer wendet und Bücher, die spezielle Bereiche des Programmierens mit C beleuchten. Die Auswahl scheint schier unbegrenzt. Warum also ein weiteres Buch über C?
Dieses Buch ist im Zuge der Einführung einer neuen Lehrveranstaltung am Institut für Mikroelektronik an der Technischen Universität Wien entstanden, die Studierenden das Programmieren mit C vermittelt, wobei keinerlei Kenntnisse von C oder einer anderen Programmiersprache vorausgesetzt werden.
Die Suche nach einer geeigneten Literaturvorlage zur Vorlesung gestaltete sich schwierig, da keine Bücher unseren Anforderungen hinsichtlich didaktischem Vorgehen, geeignetem Umfang und Nutzen, sowie konsequenter und verantwortungsbewusster Programmiermethodik entsprachen. Gerade die in die Jahre gekommene, aber nach wie vor sehr häufig eingesetzte Programmiersprache C erlaubt die Schaffung äußerst komplexer Programmeinheiten, die nur allzuoft bedenkenlos demonstriert oder teilweise sogar vorbehaltlos empfohlen werden. Die Welt der Programmiersprache C lädt zur beliebigen Erhöhung der Komplexität von Programmlösungen und zum Spielen mit Konstrukten ein, von denen jedoch erfahrene Programmierer Abstand nehmen, da sie der Lösung eines Problems oft nicht wirklich dienen. Oftmals wird in der Literatur auf die Vollständigkeit der Sprachbeschreibung besonderer Wert gelegt, was auch in vielen bekannten Werken der Fall ist. Der Leser wird geradezu überfordert von den Möglichkeiten der Programmiersprache, überschwemmt mit einer Fülle von Details, jedoch bleibt das Wesentliche beim Erlernen einer Programmiersprache, die Programmiermethodik, verborgen.
In dieses Buch haben wir jahrelange Erfahrung in der Programmierung mit C und der Vermittlung von Programmiersprachen und Programmiermethodik einfließen lassen. Was ist Programmieren? Wie werden programmtechnische Probleme gelöst? Wie beginne ich? Diese Fragen werden ebenso beantwortet wie die Lösung komplexerer Aufgaben. Schrittweise wird die Programmierung anhand der Sprache C erlernt und mit Beispielen und Aufgaben angemessen vertieft und wiederholt. Der Sprachumfang von C wird vorgestellt und durchaus kritisch betrachtet, um typische Fallen, denen selbst auch erfahrene Programmierer zum Opfer fallen, frühestmöglich zu vermeiden. Programmiermethodik wird vorgestellt und alltägliche Probleme im Umgang mit C und dem Programmierhandwerk werden behandelt.
Während die ersten Kapitel hauptsächlich grundlegenden Problemen der Programmierung, der Programmiermethodik sowie der Programmiersprache C gewidmet sind, behandeln die letzten Kapitel aufbauend auf den erworbenen Kenntnissen Verfahren und Methoden, aber auch Probleme, die in der Programmierung heutzutage häufig anzutreffen sind.
Mit diesem Symbol haben wir Empfehlungen und Hinweise im Text gekennzeichnet, die sich entweder in der Praxis als besonders wertvoll erwiesen haben, oder einfach nur im Sinne eines guten Programmierstils und zur Vermeidung von Fehlern eingehalten werden sollten.
Die mit diesem Symbol gekennzeichneten Quelltexte vieler Beispiele finden Sie im Download Bereich des Buches.
An dieser Stelle möchten wir allen danken, die an der Entstehung dieses Buches beteiligt waren und mitgeholfen haben Qualität zu erreichen, im Besonderen unseren Kollegen, allen voran Andreas Gehring, und den vielen Studierenden, die uns beim Redigieren unterstützt haben.
Robert Klima
Siegfried Selberherr