Gründe in C programmieren zu lernen

C als Vereinfachung von Assembler

C unterscheidet sich von C#, Java und PHP darin, dass es näher an der Maschine ausgelegt ist - für ein Verständnis von C hilft das Verständnis, wie ein Computer überhaupt arbeitet. Dafür ist es nicht gleich erforderlich Assembler zu lernen. C ist eine (deutliche!) Vereinfachung von Assembler, aber dennoch so maschinennah, dass nahezu keine Geschwindigkeitsverluste bei der Ausführung eines Programms entstehen. Auch kann man mit C nahezu alles Wichtige anweisen, was die Maschine zu leisten fähig ist. Nur erfahrene Programmierer können Assemblerroutinen schreiben, die geringfügig schneller sind als ein gut geschriebenes C-Programm. In der Regel kennen die Compiler-Entwickler mehr Strategien, aus einem Quelltext die schnellste Übersetzung zu liefern.

C eignet sich also bestens, um das Verständnis zu trainieren, wie Programme wirklich funktionieren. Es dient als gute Basis, um eine weitere Programmiersprache zu lernen, die objektorientierte Programmierung unterstützt - zum Beispiel C++.

Vielleicht lieber gleich mit C++ anfangen?

Die Grundlage vieler modernen Programmiersprachen, wie C++ und C#, Java und PHP ist die Syntax der Programmiersprache C. Obwohl C bereits 1972 entwickelt wurde, sind viele Konstrukte so grundlegend, dass ihre Syntax in darauffolgenden Sprachen nicht mehr oder nur sehr gering verändert wurde.

C ist Teilmenge von C++. Nahezu alles, was für C gilt, gilt auch für C++. Wer lernen möchte, wie man C++ programmiert, muss auch die gleichen grundlegenden Konstrukte lernen, die man auch in C verwendet. Ähnliches gilt auch für Sprachen wie Java und C#.

"C arbeitet mit unsicheren Zeigern"

Java, C# und PHP arbeiten weniger offensichtlich mit Zeigern als C oder C++ - aber sie verwenden sie genauso. Zeiger gelten als beliebte Fehlerquelle, allerdings sind sie unerlässlich, um sinnvolle Programme zu schreiben. Zeiger werden in C und C++ deutlich beim Namen genannt und im Quelltext kenntlich gemacht, so dass man auch den Umgang mit ihnen erlernt. Man kann in C mehr mit Zeigern machen, also auch mehr Fehler machen. Zeiger sind ein normales Arbeitsmittel in der Programmierung, sinnvolle Programme ohne Zeiger sind nahezu unmöglich. Sie sind allerdings sind sie auch keine Magie. Da sie auf eine (Speicher-)Adresse zeigen kann man sie sich vorstellen wie einen Briefumschlag, bei dem als Empfänger ebenfalls die Adresse notiert ist, die anzeigt, wo der Brief hin soll. Wer also Post verschicken kann, ist mit dem Konzept soweit bereits vertraut.