News Ticker

C 1: Was ist C? Und was ist daran so speziell?

Programmiersprachen gibt es viele. Scriptingsprachen gibt es bestimmt noch mehr. Da sich die Dienstagsartikel meist mit etwas theoretischerem beschäftigen, soll demnächst die Programmiersprache C vorgestellt werden. Dieser Artikel soll eine kleine Übersicht über die Vor- und Nachteil geben und nicht zuletzt erklären, was C überhaupt ist.


Ich möchte euch jetzt nicht mit der langweiligen Geschichte von UNIX, der PDP-7 und den Freaks aus den 70ern langweilen. Ganz im Gegenteil, hier soll erklärt werden, wieso sich C in der Praxis lohnt und nicht nur in der Theorie.

C ist eine alte Sprache, welche den Ausgangspunkt für viele nachfolgende bildete – z.B. C++. Die Syntax wurde von noch mehr Sprachen übernommen – z.B. von Java, dann wieder C# und noch viele mehr. Ich möchte jetzt nicht mit dem generischen Standardsatz kommen: Lernt man C, ist es einfach [andere Programmierspache] zu lernen. Es geht hier um C. Jedoch wurde sehr viel in C geschrieben und vieles davon ist OpenSource. Das kann von besonderer Hilfe sein.

Welche Sprache man lernt, ist immer abhängig davon, was man mit ihr schreiben will. Da C eine Sprache auf niedrigerem Software-Niveau ist als viele andere, kann man damit sehr gut betriebssystemnahe Anwendungen oder Betriebssysteme selbst schreiben. C ist eine relativ schnelle Sprache. Auch zeitkritische Programme können so als Einsatzgebiet gelten.

Zuletzt der vielleicht wichtigste Punkt: C ist einfach zu lernen. Es ist eine relativ kleine Sprache – im Vergleich zu Java mit tausenden (wenn nicht noch mehr?) Bibliotheken. Es gibt natürlich auch Bibliotheken für C, normalerweise muss man aber keine 20 davon einhängen, damit man eine Anwendung schreiben muss. Da die Sprache so klein und hardwarenah ist, muss man beim Programmieren genau aufpassen. Es passieren schnell Fehler mit der Speicherverwaltung welche das Programm abstürzen lassen können – oder noch schlimmer: mit falschen Zahlen weiterlaufen lassen. Wieso ist das ein Vorteil von C? Ganz klar: wer wissen will wie ein Computer funktioniert, wie der Speicher verwaltet wird, wie Low-Level-Systemcalls aufgerufen werden, der muss eine Low-Level-Sprache erlernen. Mit anderen Worten: Wenn ihr gut C schreiben könnt und euch eine andere Programmiersprache anschaut (z.B. Java), dann kommt euch diese vor wie eine Spielzeugsprache.

Nachteile gibt’s natürlich auch. Je systemnaher eine Sprache ist, desto unportabler wird sie. Java läuft auf allen PCs mit der Java Runtime installiert. C-Programme brauchen nichts installiert, müssen jedoch für dieses Betriebssystem geschrieben und kompiliert worden sein. Es ist möglich Programme in ANSI-C, also protabel, zu schreiben. Jedoch kann man damit nicht viel machen. Um die Sprache zu lernen, reicht es auf jeden Fall.

Dieser Artikel sollte euch nicht davon überzeugen C lernen zu wollen, er soll keine Einführung in die Geschichte geben. Es ist einzig und alleine dazu gedacht, euch einige Gründe zu nennen, wieso ich C lernte und es bis jetzt nie bereut habe. Wer noch etwas mehr über C allgemein erfahren möchte, kann diesen Wikipedia-Artikel lesen.

PS: Auch wenn es sich im Text vielleicht so herauslesen lässt, ich habe nichts gegen Java. Jedoch kam es mir wirklich wie eine Spielzeugsprache vor als ich sie vor einigen Wochen erlernen musste.
PPS: C sieht von der Syntax her auch wirklich cool aus. 😉