C/C++ Workshop - Teil 1
Inhalt:

1.) Was ist C ?
2.) Die Stärken von C
3.) Wo sollen dann die Vorteile liegen ?
4.) Worin liegt der Sinn, Programme im Sourcecode zu verbreiten ?
5.) Schwerpunkte dieser Workshop-Reihe

Autor:
DEMON

Was ist C ?
Der dritte Buchstabe des Alphabets !
Richtig aber nicht nur...

Die Auswahlkriterien für eine Programmiersprache unter Linux sind gigantisch. So wird der angehende Programmierer mit einer Menge an Programmen beinahe erschlagen.

Fortran-Freaks finden den passenden Kompiler, Pascal-Gurus ebenfalls und sogar ein passionierter BASIC-Tüftler wird seine Freude an Linux finden, da ihm die Möglichkeit gegeben ist, auch diese Sprache zu benutzen.

Unter Linux hat sich eine Programmiersprache besonders etabliert und stellt die Systemsprache dar -- die Rede ist von C.

In den Jahren 1969-1972 hat Dennis M. Ritchi die Sprache C entworfen und entwickelt. 1973/74 hat W. Kernighan die Sprache weiterentwickelt. C schien die passende Sprache für Systementwickler zu sein. Aus diesem Grund wurden Betriebssysteme wie z.B. UNIX bis auf einen kleinen Rest Assembler fast vollständig in C programmiert.

Die Stärken von C
Rein subjektiv gesehen, sollte gerade C eine "Gurkensprache" sein. C-Programme werden in einem ASCII-Editor geschrieben. Von den Annehmlichkeiten einer IDE mit Debugger (z.B. Microsoft Visual Studio) oder gar einer RAD-Umgebung (Borland C++ Builder, Borland Delphi) ist man bei den GNU-C-Compilern noch weit entfernt.

Wo sollen dann die Vorteile liegen ?
Aber gerade das fehlen einer Grafischen Benutzeroberfläche (GUI) erweist sich bei näherer Betrachtung als eine Stärke der GNU-Compiler. Ein Kommandozeilen orientierter Compiler ohne den lästigen Ballast einer GUI kann nur effizienter sein. Das Compilieren erfolgt mit dem Kommandozeilen orientierten GNU-Compiler etwa um Faktor 100 schneller als mit einem Compiler unter MS-DOS oder Windows.

Dies sind Aspekte die für C sprechen, um diese Sprache so populär unter Linux zu machen. Es stellt sich nun die Frage um die Vorteile, wenn man C beherrscht.

Linux basiert auf dem GNU-Gedanken (http://www.gnu.org) und wird immer mit Sourcen ausgeliefert. Dies scheint dem Linux Neuling ein Zustand zu sein, der einfach inakzeptabel ist. Schließlich kauft man sich nicht ein Auto in Teilen, um es dann später zuhause zusammen zu bauen.

Worin liegt der Sinn, Programme im Sourcecode zu verbreiten ?
Erlauben Sie mir bitte, Ihnen die Vorteile vorzustellen...

  • Max. Anpassung an ein bestehendes System
  • Einfache Portierbarkeit
  • Kleine Datenmengen
  • Schnelle Fehlerkorrektur
  • u.v.m.
Die Vorteile werden aber oft durch Nachteile überschattet, weil nicht jedes System dem anderen gleicht. Auch die rasante Lib-Entwicklung stellt ein großes Problem dar. So hat man endlich das gewünschte Programm auf die Platte gebannt, in nächtlicher Klein-Saug-Arbeit, tippt make und ... Ja, und ... Statt des gewünschten Ergebnisses erhält unsereiner nur ein paar wirre Fehlermeldungen, im besten Fall ein Hinweis.
Spätestens jetzt fängt das große Fluchen an und unser allerliebstes Kind rm -rf findet schon wieder Verwendung.

Schwerpunkte dieser Workshop-Reihe
Es wird versucht in Lektionen einem Programmiereinsteiger die Funktionalität von gcc und C zu vermitteln. Das Spektrum wird dabei sowohl compilieren eines einfachen Programmes, wie aber auch die Erstellung von komplexen make-Abhängigkeiten umfassen.

Es wird an Beispielen die Struktur von C und dessen "Arbeitsweise" erklärt. Am Ende dieser Reihe werden sie imstande sein, selbständig Kompilierfehler zu erkennen und zu beseitigen.

Im Verlauf des Workshop wird dann der Übergang von C zu C++ stattfinden. In C++ kann man natürlich auch C programmieren -- aber wer will das schon. Schliesslich bietet C++ die Möglichkeit, Klassen zu erstellen und somit objektorientiert zu programmieren (OOP).

Wer erst mal Programme in C/C++ mit Klassen erstellt hat, dem dürfte es nicht all zu schwer fallen sich in andere Programmiersprachen wie z.B. Java einzuarbeiten.

Der Teilnehmer wird am Ende des Workshop in der Lage sein,

  • den Source-Code von (einfachen) C/C++ Programme zu lesen und zu verstehen,
  • Programme selbst zu erstellen und
  • Fehler im Source-Code selbständig zu finden und zu beheben.

Die Erscheinungsweise der Artikel wird sich im Rahmen der mir zur Verfügung stehenden Zeit bewegen. Also nicht gleich den Autor mit E-Mails zu-Spammen nur weil seit 2 Wochen kein Artikel neuer mehr erschienen ist... ;-)


Feedback ist wichtig für die Verbesserung des Service
Letzte Änderung: Thomas Gern
Datum: 17. September 1999 - pro-Linux.de; (c) Pro-Linux