Aktivität 13 – Programmiersprachen

Marschbefehle – Programmiersprachen

Computer werden normalerweise mithilfe einer „Sprache“ programmiert, bei der es sich um ein eingeschränktes Vokabular von Anweisungen handelt, die ausgeführt werden können. Eines der frustrierendsten Dinge beim Programmieren ist, dass Computer immer den Anweisungen folgen, auch wenn sie ein verrücktes Ergebnis liefern. Diese Aktivität vermittelt den SchülerInnen einige Erfahrungen mit diesem Aspekt der Programmierung.

Worum geht es in dieser Aktivität?

Computer arbeiten, indem sie einer Liste von Anweisungen folgen, die als Programm bezeichnet wird, und für die Ausführung einer bestimmten Aufgabe geschrieben wurde. Programme werden in Sprachen geschrieben, die speziell eine begrenzte Anzahl von Anweisungen enthalten und dadurch den Computern sagen, was zu tun ist. Einige Sprachen sind für gewisse Zwecke besser geeignet als andere.

Unabhängig von der Sprache, die sie verwenden, müssen ProgrammiererInnen in der Lage sein, exakt festzulegen, was der Computer tun soll. Im Gegensatz zu Menschen wird ein Computer Anweisungen auf jeden Buchstaben genau ausführen; selbst wenn sie absurd sind.

Es ist wichtig, dass Programme gut geschrieben sind. Selbst ein kleiner Fehler kann viele Probleme verursachen. Stelle dir vor welche dramatischen Folgen ein Fehler im Programm eines Computers bei einer Raumfähre, einem Atomkraftwerk oder den Signalen auf einer Bahn haben kann! Fehler werden gemeinhin als „Bugs“, deutsch: Käfer, bezeichnet. Das kommt daher, weil so ein Käfer aus einem elektrischen Relais eines elektronischen Rechners der frühen 1940er Jahre entfernt („debugged“) werden musste.

Je komplexer das Programm ist, desto mehr Fehler sind wahrscheinlich. Dies wurde zu einem wichtigen Thema, als die USA am Programm der Strategischen Verteidigungsinitiative („Star Wars“) arbeiteten; einem computergesteuerten System, das für nukleare Angriffe ein undurchdringliches Feld bedeuten sollte. Einige ComputerwissenschaftlerInnen behaupteten, dass es wegen der Komplexität und inhärenten Unzuverlässigkeit der Software nie funktionieren könnte. Software muss sorgfältig getestet werden, um so viele Fehler wie möglich zu finden und es wäre nicht möglich dieses System zu testen, da man in den Vereinigten Staaten Raketen abfeuern müsste, um sicher zu gehen, dass diese auch funktionieren!

Übungen und Materialien

Materialien