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.
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.
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.
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.
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
🏷️ Assembler
🧑💻 Hochsprache
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.
Quellcode
Text, den du schreibst — summe = 5 + 3.
Lexer + Parser
zerlegt den Text in Tokens und baut einen Syntaxbaum (AST).
Compiler / Interpreter
uebersetzt in Bytecode oder direkt in Maschinencode.
Maschinencode
Opcodes als Bits — die ISA der CPU.
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.
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.