Der Autor: "Angst ist ein schlechter Ratgeber, Code muss keine Angst machen, Code ist wenig erschreckend, wenn man ihn versteht. Kann man ihn verstehen? Natürlich, sonst gäbe es keine Programmierer. Kann ihn jeder verstehen? Da scheiden sich die Geister."
Einblick in die Blackbox Computer
29:27 Minuten
Hunderte von Programmiersprachen gibt es, von hochkomplexen bis hin zu LOGO, mit der in den 1980er-Jahren Grundschulkinder programmieren lernten. Sich mit ihrer Geschichte zu beschäftigen, lohnt sich, um Computer zu verstehen.
Fast jeder benutzt ihn mehr oder weniger routiniert, aber nur wenige verstehen, was wirklich los ist im Inneren eines Computers. Vielen erscheint er insofern als eine unheimliche Macht mit geradezu wundersamen Kräften.
Um Computer besser zu verstehen, hilft ein Blick in die Geschichte der Computersprache. Man muss sich nur trauen...
Die Berliner Soziologin Fiona Krakenbürger hat sich getraut: Vor einigen Jahren betrieb sie das Blog "Fiona lernt programmieren". Darin dokumentierte sie vier Monate lang ihren Versuch, ohne Vorkenntnisse eine Ur-Programmiersprache zu lernen: den Assemblercode, erfunden im Holozän des Computerzeitalters zwischen 1948 und 50.
Wir dokumentieren das Feature von Florian Felix Weyh an dieser Stelle stark gekürzt. Das vollständige Manuskript zur Sendung können Sie hier als pdf herunterladen.
Was ist überhaupt Computersprache?
Fortran, Cobol, Algol, Lisp, Basic, Simula, Pearl, Pascal, Prolog, Scheme, Ada, C, C++, Haskell, Python, SQL, Java, Ruby, Swift und viele, viele mehr - insgesamt gibt es je nach Definition zwischen 500 und 8000 Computersprachen. Sogar Dialekte haben sich herausgebildet.
"Eine Programmiersprache ist in erster Linie eine künstliche Sprache zur Kommunikation von Menschen mit Maschinen. Im Unterschied zu natürlichen Sprachen, die der Kommunikation zwischen Menschen dienen, sind Programmiersprachen vollkommen eindeutig definiert: Es gibt keinerlei Interpretationsspielraum, was ein bestimmtes Sprachkonstrukt bedeutet."
(Johannes Jander und Kathrin Passig: "Weniger schlecht programmieren". O'Reilly-Verlag 2013)
(Johannes Jander und Kathrin Passig: "Weniger schlecht programmieren". O'Reilly-Verlag 2013)
"Streng genommen kann jeder Computer nur eine einzige Programmiersprache verarbeiten: seine Maschinensprache. Diese Maschinensprachen sind außerordentlich unanschaulich und schwer verständlich. Ein Maschinenprogramm besteht im Grunde nur aus einer einzigen langen Folge von 0/1-Symbolen. (…) Einen allerersten Schritt von den 0/1-Folgen der Maschinensprache in die Richtung der höheren Programmiersprachen stellten die sogenannten Assemblersprachen dar, bei denen die durch 0/1-Folgen ausgedrückten Maschinenbefehle wenigstens durch anschauliche, symbolische Namen beschrieben werden.
(Jochen Ziegenbalg et al.: "Algorithmen von Hammurapi bis Gödel", Springer-Verlag 2016)
(Jochen Ziegenbalg et al.: "Algorithmen von Hammurapi bis Gödel", Springer-Verlag 2016)
Wie alles anfing
"'Da stand diese wuchtige Riesenmaschine und machte eine Menge Lärm', erinnert sie sich. 'Es war alles offen und unverdeckt und sehr, sehr laut.' Ihr war klar, dass sie sie ganz und gar würde verstehen müssen, um damit richtig arbeiten zu können, und so verbrachte sie ihre Nächte über den Schaltplänen.'"
(Walter Isaacson: "The Innovaters". Bertelsmann-Verlag 2018)
(Walter Isaacson: "The Innovaters". Bertelsmann-Verlag 2018)
MARK 1 war bald überholt und wurde von einem anderen Ungetüm abgelöst: dem ENIAC mit seinen etwa 2.300 Röhren, die zu bestimmten Funktionsgruppen angeordnet waren, und der lediglich Rechenaufgaben bewältigen konnte.
Bernd Leitenberger: "Wenn man jetzt irgendwo eine Addition vor einer Multiplikation haben wollten, dann musste man eben die Verkabelung der Funktionsgruppen neu machen, dass eben das auch so entsprechend lief."
Programmieren hieß damals vor allem: Kabel umstecken. Doch schon früh machte man sich Gedanken, wie man die Maschine auf anderem Wege dazu bringen konnte, etwas zu tun.
Die zu verstehen, ist nicht einfach, denn der Computer versteht im Grunde nur Maschinensprache: 0 oder 1, Strom - oder kein Strom.
Mehr als nur Technik
Bernd Leitenberger: Manche Leute schreiben gern Gedichte, andere Leute malen gerne, und da wollen sie auch ein schönes Gedicht haben oder ein schönes Bild! Und man kann ein Programm machen, dass es schnell hingerotzt ist. Oder man kann ein Programm machen, das schön ist. Also schön zum Beispiel, dass man es nach einem Monat noch verstehen kann, wenn man’s anguckt."
Hat ein Computerprogramm eine eigene Ästhetik? Ist Computersprache nicht nur Teil unserer Technikgeschichte, sondern auch unserer Kulturgeschichte?
Der 2011 verstorbene Literaturwissenschaftler Friedrich Kittler beschäftigte sich schon frühzeitig mit der fremden technischen Sprache und hatte sogar die Assemblerprogrammierung erlernt. Sich Zugangswissen zur Maschine anzueignen, hielt er für eine intellektuelle Pflicht. 1991 warnte er in einem Aufsatz vor der Tendenz der damals noch keineswegs komfortablen PC-Technologie, sich von den maschinennahen Bedienungsroutinen zu entfernen.