Was ist C?
C ist die Mutter aller modernen Sprachen - Fundament fuer Betriebssysteme, Datenbanken und Embedded-Systeme. Erfahre, warum C auch 2026 unverzichtbar bleibt.
Inhaltsverzeichnis
Was ist C?
C ist eine der wichtigsten Programmiersprachen aller Zeiten. Entwickelt ab 1972 von Dennis Ritchie in den Bell Labs, ist C das Fundament, auf dem fast alles steht, was wir heute nutzen: Linux, Windows, macOS, iOS und Android-Kerne, MySQL, PostgreSQL, Git, Python (CPython!) - alle haben einen C-Kern.
Wofuer wird C genutzt?
Betriebssysteme
Der Linux-Kernel ist in C geschrieben. Die Windows-, macOS- und Unix-Kerne gleichermassen. Wer am Fundament von Software arbeitet, kommt an C kaum vorbei.
Embedded & Mikrocontroller
Auf Hardware mit wenig RAM und keinem Betriebssystem ist C oft die einzige realistische Wahl. Arduino, ESP32, Fahrzeug-Steuerungen, Medizintechnik - ueberall C.
Datenbanken & System-Tools
MySQL, PostgreSQL, Redis, SQLite, curl, Git, Bash - die Infrastruktur der Software-Welt.
Laufzeiten anderer Sprachen
- Python (CPython) ist in C geschrieben
- Ruby (MRI) ist in C geschrieben
- Node.js nutzt V8 (C++) mit C-APIs
- PostgreSQL-Erweiterungen schreibst du in C
Wer diese Sprachen wirklich versteht, kommt auf kurzem Weg zu C.
Was macht C besonders?
Klein und vollstaendig
Die Sprache hat nur rund 30 Schluesselwoerter. Die Syntax passt auf eine Postkarte. Und trotzdem kannst du alles damit bauen.
Nah an der Hardware
int zahl = 42;
int *zeiger = &zahl;
*zeiger = 100;
printf("%d\n", zahl); // 100
Du arbeitest direkt mit Speicheradressen, siehst wie Daten im RAM liegen, kannst Bits und Bytes manipulieren. Das ist Macht - und Verantwortung.
Kompiliert zu nativem Code
Kein Garbage Collector, keine virtuelle Maschine. Dein Programm ist reine Maschineninstruktion, extrem schnell und klein.
Ueberall verfuegbar
Wo immer eine Toolchain existiert - und das ist ueberall - gibt es C.
Wie fuehlt sich C-Code an?
#include <stdio.h>
#include <string.h>
int main(void) {
const char *namen[] = {"Max", "Anna", "Leo"};
int n = sizeof(namen) / sizeof(namen[0]);
for (int i = 0; i < n; i++) {
if (strlen(namen[i]) > 3) {
printf("Hallo, %s!\n", namen[i]);
}
}
return 0;
}
Einfach? Auf den ersten Blick. Die Tuecken stecken im Detail - Pointer, Null-Terminierungen, manuelle Speicherverwaltung.
C vs. C++ vs. Rust
- C ist minimalistisch - wenige Features, maximale Kontrolle
- C++ ist C plus OOP, Templates, STL und viel mehr (und viel Komplexitaet)
- Rust ist der moderne โC++-Killerโ mit Speichersicherheit by Design
C waehlt man, wenn:
- Man minimal bleiben will (Kernel-Module, winzige Embedded-Systeme)
- Eine etablierte C-Codebasis gepflegt wird
- Maximale Portabilitaet zaehlt
- Man die Sprache darunter verstehen will
Schattenseiten
C ist unerbittlich. Typische Probleme:
- Buffer Overflows - ueber Array-Grenzen schreiben
- Dangling Pointers - auf freigegebenen Speicher zugreifen
- Memory Leaks -
mallocohnefree - Undefined Behavior - Code kompiliert, laeuft aber unberechenbar
Gute C-Programmierer kennen diese Fallen - und meiden sie mit Disziplin und Tools (AddressSanitizer, Valgrind, statische Analyse).
Lohnt sich C 2026?
Gezielt: ja. Wenn du:
- Systemsoftware verstehen oder schreiben willst
- im Embedded-Bereich arbeitest
- Compiler, Laufzeiten oder Libraries anderer Sprachen verstehen willst
- den CS-Klassiker (Linux-Kernel) studieren willst
Fuer reine Anwendungs-Entwicklung gibt es komfortablere Sprachen (Rust, Go). Aber: Wer C kann, versteht Software grundsaetzlich besser.
Als Naechstes: Im naechsten Kapitel installieren wir einen C-Compiler.