MINT lernen

Ein Problem in vielen Sprachen

Eine Aufgabe, sieben Sprachen: Wer die Bausteine erkennt, liest fremden Code wie eine bekannte Sprache mit neuem Akzent.

1

Gleiche Idee, andere Schreibweise

  • Algorithmus:die Idee ist unabhängig von der Sprache — „für i von 1 bis 5: gib i · i aus“.
  • Syntax:die Schreibregeln einer Sprache; sie unterscheiden sich, die Bausteine bleiben gleich.
  • Blöcke:Python rückt ein; C, Java, C#, JavaScript, PHP, Go und Rust fassen Blöcke in { }.
  • Anweisungsende:Semikolon in C, Java, C#, PHP und Rust, in JavaScript üblich; Python und Go brauchen keins.
  • Variablen:int n = 5; (Java, C#) · n = 5 (Python) · $n = 5; (PHP) · n := 5 (Go) · let n = 5; (Rust, JavaScript).
  • Ausgabe:print · System.out.println · Console.WriteLine · console.log · echo · fmt.Println · println!
Merke

Sprachvergleich: Variable, Verzweigung, Schleife, Funktion und Ausgabe gibt es in allen imperativen Sprachen — es ändert sich nur die Schreibweise.

2

Worauf man beim Vergleich achtet

  • Programmrahmen:Java verlangt Klasse und main-Methode, Go package main und func main(), Python und PHP starten direkt.
  • Länge:dasselbe Programm braucht in Python 2 Zeilen, in Java 7 — kürzer heißt nicht besser oder schneller.
  • Typangaben:in Java und C# steht der Typ int im Schleifenkopf, die anderen leiten ihn ab.
  • Gleiche Bedeutung:gleiche Eingabe, gleiche Ausgabe: alle Versionen geben 1, 4, 9, 16, 25 aus.
  • Feinheiten:7 / 2 ergibt in Java, C#, Go und Rust 3 (ganzzahlig), in Python, JavaScript und PHP 3.5; Python rechnet ganzzahlig mit 7 // 2.

Wähle links und rechts eine Sprache. Mit den Baustein-Knöpfen leuchtet derselbe Teil in beiden Programmen auf. „Übereinanderlegen“ legt beide Programme auf dieselbe Stelle — so siehst du, wie viel Rahmen eine Sprache verlangt.

Quadratzahlen in sieben Sprachen

Links
Rechts
Baustein hervorheben

Halte fest: Schleife, Rechnung und Ausgabe finden sich in jeder Sprache wieder; die Unterschiede stecken im Programmrahmen, in den Klammern und in den Namen der Befehle.

3

Allgemeine Hinweise

Gleich aussehen heißt nicht gleich rechnen

Prüfe Divisionen und Vergleiche genau: 7 / 2 ist nicht überall 3,5, und == vergleicht in JavaScript und PHP locker, === streng.

Einrückung ist in Python Syntax

In C-ähnlichen Sprachen ist Einrückung nur Lesehilfe, in Python bestimmt sie, was zur Schleife gehört.

Erst die Bausteine suchen

Liest du fremden Code, suche zuerst Schleifenkopf, Bedingungen und Ausgabe. Den Rest — Rahmen und Klammern — kannst du danach zuordnen.

Videos