Geschichtliches

Noch am Anfang der siebziger Jahre entwarf man Betriebssysteme mit Hilfe von Assemblersprachen.
Als UNIX zu einem leistungsfähigen Betriebssystem entwickelt wurde, erkannte man, dass dieses Unterfangen ausschließlich mit Assembler sehr fehlerträchtig war. Außerdem wäre das Portieren auf verschiedene Computersysteme sehr aufwendig geworden - einen weit verbreiteten Computer wie den IBM-kompatiblen PC gab es noch nicht.
So wurde C entwickelt, um das Beriebssystem UNIX leichter erstellen und portieren zu können.

Eigenschaften von C

C ist zwar eine höhere Programmiersprache, aber relativ dicht an Assemblersprachen angesiedelt. Man spricht in diesem Zusammenhang von einer Low-Level-Sprache.

C besitzt einen sehr kleinen Sprachumfang, das macht das Erlernen und Beherrschen dieser Sprache vergleichsweise leicht. Die sprachlichen Formulierungen in C wirken sehr kurz und etwas kryptisch, was wiederum das Erlernen etwas erschwert.
Um mit C auf einfache Weise und vielseitig auf Daten zugreifen zu können gibt es dort sehr wenig Einschränkungen, was die Gefahr erhöht, logische Programmierfehler zu begehen.

C ist also eine übersichtliche Sprache, weil sie klein ist. Zugleich empfiehlt sich jedoch ein vorsichtiger und gewissenhafter Umgang mit ihr, weil sich damit leicht Unsinniges programmieren lässt. Warnungen des Compilers sollten stets ernst genommen werden.

Bibliotheken

Um diese Sprache leistungsfähig einsetzen zu können, bedarf es mehrerer Bibliotheken (engl.: libraries) mit geeigneten Unterprogrammen, die in C Funktionen genannt werden. Hersteller von Hard- und/oder Software bieten häufig zusammen mit ihren Produkten solche Bibliotheken an, zu denen auch Beschreibungsdateien, die sog. Header-Files, gehören.

Oftmals besteht die eigentliche Kunst des Programmierens in C darin, die wichtigen und geeigneten Funktionen, Variablen und Konstanten aus solchen Bibliotheken zu kennen. Man muss also auch hier zumeist wissen "wo es steht".

Wie klein die Sprache C ist, können Sie z.B. daran erkennen, dass es in der Sprachdefinition von C keine Ausgabe gibt wie 'PRINT' in BASIC oder 'Writeln' in Pascal. Hierfür muss man eine Bibliotheksfunktion wie 'printf' (gelesen: print formatted) verwenden.