Ein digital geführtes Gespräch mit Programmierer Martin Leitgeb über digitale Sprachen, digitales Denken, digitale Feuerwehreinsätze und den Brückenschlag zwischen der realen und der digitalen Welt.
Martin, du bist sehr sprachbegabt – du sprichst Deutsch, Steirisch, JavaScript – und welche Sprachen noch?
(lacht) auf Computer bezogen Java, JavaScript, PHP, C, C++, C#, Python, SQL, HTML, XML, CSS, Jquery und sicher noch ein paar andere, die mir nicht mehr einfallen.
Wie kann sich ein Laie das mit den Programmiersprachen vorstellen?
Alle Sprachen haben gewisse feste Regeln, die Grammatik sozusagen. Man verwendet einen fest vorgegebenen Wortschatz (also die Befehle) und reiht diese nach den Regeln aneinander. Ein Übersetzer (Compiler) übersetzt dann den geschriebenen Code in Maschinensprache (Assembler Code).
In welcher Hinsicht sind sie sich ähnlich, wo gibt es Unterschiede?
Alle Sprachen folgen einem logischen Aufbau. Es gibt keine Toleranz: Entweder der Code ist 100% korrekt oder er funktioniert nicht. Die unterschiedlichen Programmiersprachen kann man sich vom Umfang her generell vorstellen wie Fachsprachen. Einige Sprachen sind zwar universell einsetzbar, viele sind aber auf ganz spezielle Bereiche beschränkt, und funktionieren dort auch besser, da sie eben spezialisiert sind.
Gibt es so etwas wie eine „Ursprache“?
Das ist „C“. Es heißt: Wer C meistert, kann jede Programmiersprache extrem schnell lernen. Die von der Ebene her niedrigste Sprache ist allerdings Assembler, dort hat man nur mnemonische Symbole zur Verfügung, dafür kann man absolut alles damit machen und optimierten Code schreiben, den man mit sonst keiner Programmiersprache zustande bringen würde. C und Assembler sind zugleich die schwierigsten Sprachen, einfacher sind die Skriptsprachen wie JavaScript und Jquery. Damit kann man ohne viel Konfigurieren oder Wissen schon binnen Minuten einfache Programme schreiben.
Welche Sprache ist die exotischste?
Whitespace oder Brainfuck vielleicht. Whitespace kommt nur mit Tabulator und Leerzeichen aus, daher sieht man kurioserweise den Code auch nicht. Brainfuck kommt nur mit dem Kleiner-gleich-Zeichen und dem Größer-gleich-Zeichen aus. In der Theorie kann man damit ganz normal programmieren, wenn auch nicht sehr sinnvoll.
Mit welchen Sprachen arbeitest du am liebsten, und warum?
Meine Favoriten sind Java, PHP, JavaScript. Alle sind sehr mächtige Werkzeuge und mit diesen drei kann man de facto alles umsetzen, egal ob hübsche Webseiten oder monströse Datenverwaltungs-Softwares.
Werden deiner Einschätzung nach immer wieder neue Sprachen entwickelt werden, oder ist das nicht mehr notwendig?
Es kommen momentan eher Frameworks als neue Sprachen. Frameworks wie beispielsweise WordPress oder Laravel sind Grundgerüste, die bestimmte Funktionalitäten bereits (zumeist) sehr gut ausprogrammiert haben. Laravel beispielsweise ist ganz bequem für eine Userverwaltung: Ein einzelner Befehl erzeugt alle benötigten Elemente und Einträge, und man hat eine fix fertige Lösung. Das Problem an diesen Frameworks ist nur, dass man oft sehr sehr viel konfigurieren und sich speziell einarbeiten muss. Diese Frameworks können sehr komplex werden. Aber das ist auch gleichzeitig das Spannende daran, das, was Spaß macht.
Worin liegt für dich die große Faszination des Programmierens, kann man diese Fähigkeit auch privat nutzen?
Die Faszination liegt primär in der Automatisierung und Vereinfachung. Man kann mit wenig Code extrem viel Arbeit sparen und gigantische Arbeitspakete automatisch abarbeiten lassen. Bestes Beispiel aus meinem Privatleben: Ich wollte eine Sammelkarten-Erkennung mit einem Datenstand von ca. 30.000 Karten entwickeln. Für jede dieser Karten brauche ich Bilder in vier verschiedenen Größen und Details. Das ist manuell komplett unmöglich, aber mit einem Python-Script habe ich in einer Stunde mit sechs Zeilen Code und fünf Stunden Rechenzeit alle Bilder genau so erhalten, wie ich sie benötigt habe. Da fühlt man sich ein bisschen wie ein Zauberer [lacht]!
Denkt man irgendwann in Programmiercode?
Ja, durchaus. Wenn man einmal in diesem Modus, im Programmiererdenken, drin ist, fällt es vielen von uns sehr schwer, wieder „normal“ zu sprechen, so dass „Normalsterbliche“ einen verstehen. Das ist eine große Schwäche vieler Programmierer, sie können einem Nicht-Techniker nichts mehr erklären, weil das Umdenken zu schwer ist.
Wie siehst du dich selbst, bist du ein typischer Computer-Freak, ein Nerd?
Typischer Nerd… [lacht] eigentlich schon. Ich habe kein Problem damit, 20 Stunden am Stück am PC zu sitzen, nebenher zu essen und ganze Tage im „Kämmerchen“ zu sitzen. Ich spiele auch gerne „nerdige“ Spiele am PC und bin für jeden im Bekanntenkreis gerne Support-Techniker, digitale Feuerwehr sozusagen. Bis dato gab es auch noch keinen einzigen PC-, Handy-, Tablet- oder Notebook-User, dessen Problem ich nicht lösen konnte. Als Kontrastprogramm mag ich aber auch total gerne Sport und bin sehr gerne und viel an der frischen Luft. Eine gesunde Abwechslung halt.
Wenn es so etwas wie einen IT-Nobelpreis gäbe und du ihn verleihen könntest: Wer wäre dein Favorit dafür?
Das ist eindeutig aber leider nicht umsetzbar: Das Anonymus Kollektiv! Da ist ja eine zerstreute Gruppe ohne realen Zusammenhang und daher nicht als Person zu betrachten. Aber durch die Arbeit dieser Experten und deren privates Engagement mit enormen Risiken werden sehr viele Missstände ausgeforscht und aufgedeckt. Das geht von Kinderpornografie über Kartelle bis hin zu Geheimakten. Anonymous deckt auf, was andere vertuschen wollen, und das komplett ohne Entlohnung oder Dank.
Würdest du gerne im Silicon Valley arbeiten?
Nein! Ich will im schönen Österreich bleiben. Ich hatte Einblicke, wie bei einigen der größten IT-Konzerne gearbeitet wird, und ich persönlich rate jedem davon ab, dorthin zu gehen, der kein Burnout will.
Fühlst du dich in der realen Welt oder in der digitalen Welt mehr „zu Hause“?
In gewisser Weise ist die digitale Welt einfacher, weil man alles, was einen stört, einfach ausblenden kann. Im Gegenzug ist mir die reale Welt aber natürlich lieber, denn im weitgehend anonymen Internet kann es sehr leicht moralische Entgleisungen und Ausbeutung geben. Ohne reale Welt gibt es natürlich auch keine echten, tiefen Beziehungen. Aber genau deshalb macht mir wohl auch mein Job so viel Freude: Weil er die Brücke zwischen real und digital schlägt!