14+ J
📚 Lektion · L9 · Capstone

Die Zeitreise der Programmiersprachen

Ganz unten sind nur zwei Zustaende: Strom an, Strom aus. 1 und 0. Aus diesen zwei Zustaenden bauen wir Logikgatter, aus Gattern das Rechnen, aus dem Rechnen den Maschinencode — und darauf einen ganzen Stammbaum von Sprachen, mit dem heute die Welt programmiert wird. Diese Lektion geht den Weg von unten nach oben. Fass alles an.

⚡ Gatter-Labor 🔢 Halbaddierer 🌳 Sprach-Stammbaum ⏳ 1847 → heute

01Alles beginnt mit wahr und falsch

Ein Mathematiker rechnete mit Wahrheit — 90 Jahre bevor es Computer gab.

1847 zeigt George Boole, dass man mit wahr und falsch genauso rechnen kann wie mit Zahlen — mit UND, ODER und NICHT. Fast 90 Jahre spaeter, 1937, verbindet der junge Claude Shannon in seiner Masterarbeit diese Logik mit elektrischen Schaltern: Strom an = wahr = 1, Strom aus = falsch = 0. Das ist der Moment, in dem Denken und Elektrizitaet dieselbe Sprache sprechen. Und 1936 beweist Alan Turing, dass eine einzige, extrem simple Maschine jede berechenbare Aufgabe loesen kann — die Idee des Universalcomputers.

💡
AhaEin Computer «versteht» nichts. Er schiebt nur Strom durch Schalter — aber so clever verschaltet, dass daraus Rechnen, Text, Bilder und ganze Spiele werden.

02Das Logikgatter-Labor

Ein Transistor ist ein Lichtschalter, den Strom umlegt. Verschalte ein paar davon — und du hast ein Gatter, das eine Ja/Nein-Frage beantwortet. Waehle ein Gatter und klick die Eingaenge.

🧩
NAND ist der UniversalbausteinAus lauter NAND-Gattern (und sonst nichts) laesst sich jedes andere Gatter nachbauen — und damit ein ganzer Computer. Deshalb bestehen echte Chips zu grossen Teilen aus Millionen bis Milliarden winziger NAND/NOR-Strukturen.

03Von Gattern zum Rechnen: der Halbaddierer

Acht Schalter (Bits) reichen fuer jede Zahl von 0 bis 255. Und zwei Gatter zusammen koennen bereits addieren. Klick die Bits oder zaehl hoch.

DEZIMAL0
BINÄR00000000
HEX0x00
0
A
0
B
HALBADDIERER # Summe = A XOR B # Übertrag = A AND B 0 + 0 = 00  (Übertrag 0, Summe 0)
So entsteht 1 + 1 = 10XOR liefert die Summe (1+1 → 0), AND liefert den Uebertrag (1+1 → 1). Zusammen: 10 binaer = 2 dezimal. Reihe genug solcher Addierer aneinander, und du hast das Rechenwerk (die ALU) einer CPU.

04Dieselbe Rechnung — auf jeder Ebene

«Addiere 5 und 3» sieht auf jeder Abstraktionsebene anders aus. Ganz unten wackeln nur Bits; ganz oben liest es sich fast wie Deutsch. Genau diese Leiter erklimmen wir jetzt.

🔌 Maschinencode

BITS# was die CPU wirklich sieht 10110000 00000101 00000100 00000011

🏷️ Assembler

x86 ASMmov al, 5 add al, 3 ; al = 8

🧑‍💻 Hochsprache

PYTHONsumme = 5 + 3 print(summe) # 8

Jede Zeile Python wird — ueber Uebersetzer (Compiler/Interpreter) — am Ende wieder zu genau solchen Bits, die durch die Gatter von oben laufen. Hochsprachen erfinden nichts Magisches; sie ersparen uns das Bit-Geschiebe und lassen uns in Begriffen denken, die Menschen liegen: Namen, Schleifen, Funktionen, Objekte.

05Der Stammbaum: über 180 Jahre auf einem Zeitstrahl

Jede Kachel ist eine Sprache (oder ein Meilenstein) — 101 Sprachen und 27 Meilensteine. Zeilen = Familien, die sich gegenseitig beeinflusst haben. Scroll nach rechts durch die Zeit, filter nach Denkweise, tippe auf 🌳 fuer den Einfluss-Stammbaum, und klick eine Kachel fuer Details, Code und Herkunft.

06Vier Arten, einem Computer die Welt zu erklären

Sprachen unterscheiden sich nicht nur im Aussehen, sondern in der Denkweise — dem Paradigma. Die meisten modernen Sprachen mischen mehrere.

07Wie dein Code heute zu Strom wird

Der Kreis schliesst sich: von der Zeile, die du tippst, zurueck zu den Gattern aus Abschnitt 02.

1

Quellcode

Text, den du schreibst — summe = 5 + 3.

2

Lexer + Parser

zerlegt den Text in Tokens und baut einen Syntaxbaum (AST).

3

Compiler / Interpreter

uebersetzt in Bytecode oder direkt in Maschinencode.

4

Maschinencode

Opcodes als Bits — die ISA der CPU.

5

Gatter

Transistoren schalten, die ALU rechnet. Zurueck bei 1 und 0.

Manche Sprachen (C, Rust, Go) werden vor dem Start komplett zu Maschinencode kompiliert — schnell, aber ein Extraschritt. Andere (Python, Ruby) werden zur Laufzeit interpretiert — flexibel, aber langsamer. Und ein JIT (Java, JavaScript) macht beides: erst interpretieren, dann heisse Stellen live in Maschinencode giessen. Egal welcher Weg — unten warten immer dieselben Gatter.

🔭
Und morgen?Sprachen entwickeln sich weiter: Rust macht Speicher sicher ohne Garbage Collector, TypeScript bringt Typen ins Web, und Mojo (2023) will Python-Komfort mit C-Tempo verbinden. Der Stammbaum waechst weiter — aber das Fundament aus 1 und 0 bleibt.

08Zum Mitnehmen

Acht Saetze, die den ganzen Weg von 1 und 0 bis zur modernen Sprache zusammenfassen — plus ein paar Bilder, die haengen bleiben.

🔎 Bilder, die haengen bleiben

📎Quellen & Weiterlesen

Recherchiert und gegengeprueft aus Quellen — von der Stanford Encyclopedia of Philosophy bis zur History of Programming Languages.

Diese Lektion ist ein Baustein des Kurses Advanced · Computer Science.

← VorherigeL8 · Betriebssysteme Nächste →L10 · Sprachen-Kompass 2026