Ich weiss nicht mehr genau, wann ich meinen ersten Computer
geschenkt bekommen habe. Es muss Anfang der 90er Jahre gewesen sein
und war ein ausgemusterter 386er mit ansonsten mir unbekannten
Spezifikationen. Leider war niemand in der Naehe, der mir dieses
mysterioese Geraet haette erklaeren koennen. Da sitze ich nun mit
meinen 11 oder 12 Jahren vor einem fast komplett schwarzen
Bildschirm. Der Kursor hinterm MS-DOS-Befehlsprompt blinkt
rhythmisch, und laesst mich ratlos zurueck. Dass mein Betriebsystem
in einer mir unverstaendlichen Sprache mit mir kommuniziert,
erschwert die Sache zusaetzlich.
Zum Glueck hatte ich einen Freund, der neben einem DOS-PC eine
riesige Biliothek an raubkopierten Spielen besass. Er zeigte mir,
wie man eine Diskette kopiert, in ein Verzeichnis wechselt und ein
Spiel startet. Hier lernte ich an einem Nachmittag von einem
Gleichaltrigen mehr, als alleine in den vielen Monaten zuvor. Von
diesem Zeitpunkt an war mein Rechner endlich zu etwas zu gebrauchen.
Ich tauschte virenverseuchte Spieledisketten auf dem Schulhof und
probierte sie nachmittags gleich aus. Manche davon funktionierten,
manche nicht.
Mein naechster PC hatte bereits satte 100MHz, eine 8 Gigabyte
Festplatte und ein CD-Rom-Laufwerk. Mit Windows 95 begann fuer mich
das Zeitalter der grafischen Benutzeroberflaechen. Ich hatte auch
eine ansehnliche Sammlung an CD-Roms (vor allem Beilagen zu PC- und
Spielezeitschriften), welche mir Zugriff auf eine schier
unueberschaubare Menge an neuen, interessanten Inhalten
ermoeglichte. Doch was danach kommen sollte, stellte alles bisher
Dagewesene in den Schatten.
Das Internet
============
Mein erster Internetanschluss eroeffnete mir eine komplett neue
Welt. Email, Chatraeume, Pornobildchen in Briefmarkengroesse,
animierte Gifs, Napster, etc. Ich war ueberwaeltigt und begeistert.
Ich erinnere mich gut daran, wie ich MP3-Dateien mit einem
speziellen Programm in 1,5 MB grosse Teile zerlegte, um sie per
Diskette von einem PC auf den anderen zu transferieren (ein
CD-Brenner war fuer mich damals unerschwinglich).
Das Internet damals war fundamental anders als das Internet heute.
Es gab nicht nur wenige zentralisierte Portale, betrieben von
milliardenschweren Megakonzernen. Statt Facebookprofilen und
Twitterfeeds, hatten die Menschen damals selbst gestaltete
Homepages, jede mit ihrem eigenen Charme: animierte
Hintergrundbilder, ein wilder Mix aus Schriftarten und -farben,
Gaestebucher, chaotische Menustrukturen und der obligatorische
"Under Construction"-Hinweis. Es war nicht alles gut damals, aber
die privaten Homepages alá Geocities hatten Ecken und Kanten.
Manchmal konnte man in diesem Chaos wahre Schaetze entdecken, wenn
man nur genau hinschaute.
Es dauerte nicht lange bis in mir der Wunsch aufkam, eine eigene
Webseite zu erstellen. Dass dies ohne Weiteres moeglich war, wurde
mir klar, als ich herausfand, dass man eine PowerPoint-Praesentation
als HTML-Datei speichern konnte. Es mag kurios erscheinen, aber
meine erste (niemals veroeffentlichte) Homepage habe ich mit
PowerPoint erstellt. Als das nicht mehr ausreichte, habe ich eine
Zeitlang mit MS Frontpage experimentiert, aber die Ergebnisse waren
eher durchwachsen. Der naechste logische Schritt? Man muss direkt an
die Quelle gehen.
HTML
====
Ich weiss nicht woher es kam, aber auf einmal hatte ich ein
HTML-Einsteigerbuch in den Haenden. Es war wie eine Erleuchtung. Mit
wenigen Auszeichnungen, konnte man im Browser virtuelle Welten
entstehen lassen. Im Nu hatte ich eine kleine HMTL-Seite mit dem
MacGyver-Intro im MIDI-Format als Hintergrundmusik, ein paar Fotos
von mir, und einer ansehnlichen Kopfzeile: "WORLD OF ALEX".
Mit der Zeit wurden diese Seiten umfangreicher und komplexer. Ein
guter Freund von mir fing ebenfalls an eigene Homepages zu
erstellen. Wir wetteiferten um die beste Internetpraesenz und haben
uns gegenseitig den ein oder anderen Trick abgekupfert. Gehostet
habe ich damals auf dem T-Online Webspace, den es zum
Internetanschluss dazu gab. Natuerlich nur echt mit einer
de.vu-Domain. Irgendwann hatte ich nicht nur eine Homepage, sondern
mehrere, die sich unterschiedlichsten Themen widmeten. Ich hatte nur
das Problem, dass die Seiten selbst oft ziemlich leer waren. Das
Erstellen der Homepage hatte Prioritaet, der Inhalt war nachrangig.
Das zeigte eigentlich schon wohin die Reise gehen musste. Wenn der
technische Aspekt der eigentlich interessante ist, ist der
naechstlogische Schritt der Uebergang von der Auszeichnungssprache
zur Programmiersprache.
Kurzes Intermezzo mit C++
=========================
An einem sonnigen Nachmittag kurz vor der Jahrtausendwende fuhr ich
mit dem Bus in die naechstgroessere Stadt um einen Buchladen
aufzusuchen. Das HTML-Buch hatte ausgedient, etwas Neues musste her.
Nach einigem Stoebern entschied ich mich fuer einen Grundkurs in
C++. Voller Erwartung legte ich zu Hause die CD ein, installierte
den Compiler und schrieb mein ersten Programm: "Hallo Welt!". Ich
war sehr stolz auf mich. Der gute, alte DOS-Prompt war mir nun
Untertan. Die Ernuechterung sollte bald kommen. Ich lernte einiges
ueber die Bildschirmein- und ausgabe, ueber Variablen und
Kontrollstrukturen. Doch dann ging es weiter mit objektorientierter
Programmierung und mein Interesse fing an zu schwinden. Mit meinem
neuen Wissen konnte ich, fuer meine damaligen Begriffe, nichts
grundlegend anderes bewirken, als mit meinem ersten "Hallo
Welt!"-Programm. Ich konnte lediglich weissen Text auf schwarzen
Grund generieren. Aber ich wollte etwas ganz Anderes! Ich wollte mit
dem Computer interagieren, wollte Dateien lesen und schreiben,
Grafiken erscheinen und verschwinden lassen, Musik abspielen,
vielleicht das CD-Rom-Laufwerk aus- und einfahren. Im Vergleich zu
meinen HTML-Spielereien war die Arbeit mit C++ altbacken,
langweilig, trocken. Um es kurz zu machen: ich habe mich einer
anderen Programmiersprache zugewandt. Einer Sprache die auf dem
aufsetzt, was ich bereits kannte.
JavaScript
==========
Mit JavaScript habe ich Programmieren gelernt. Das war vielleicht
nicht die beste Wahl, aber es ergab sich ganz organisch aus meinen
bisher gegangenen Weg in der Computerwelt.
Mit JavaScript war es mir nun moeglich mit saemtlichen
HMTL-Elementen, die ich bereits kannte, zu interagieren. In einem
ersten kleinen JS-Tutorial, habe ich gelernt einen String aus einem
Textfeld auszulesen und mit einem, in einer Variable hinterlegten,
Passwort zu vergleichen. Ein wahrhaft epischer Moment in meiner
Karriere als Superhacker. Mein erstes holistisches Programm, an das
im mich entsinne war ein Tamagotchi-Klon. Mittels ein paar
HMTL-Buttons konnte man ein virtuelles Haustier fuettern, pflegen,
oder solange schlagen bis es den virtuellen Tod fand. Daneben wurde
die GIF-Animation einer springenden Katze angezeigt, welche, bei
deren Ableben, durch eine entsprechend morbide Grafik ersetzt wurde.
Ein sehr simples Programm, aber ein ungeheurer Spass.
Ich bin lange exklusiv bei der JavaScript-Programmierung geblieben,
bis in meine fruehen 20er. Ich hatte zwar keinen Zugriff auf
Systemfunktionen, aber es reichte aus fuer ein paar kleine Spiele,
wie eigene Implementationen von Snake, Minesweeper, und Druglord.
Mit Einfuehrung des HTML5-Canvas-Elements konnte ich nun auch
programmatisch Bilder auslesen und generieren. Ein
Mandelbrot-Generator und ein ASCII-Konverter waren dann auch schnell
zusammengefrickelt.
Ein Paradigmenwechsel war die Einfuehrung von NodeJS. Endlich hatte
ich die Moeglichkeit auf das Dateisystem zuzugreifen, mit dem
unterliegenden System zu kommunizieren und mit wenigen Zeilen einen
Webserver zu programmieren! Zu meinem Erstaunen musste ich jedoch
feststellen, dass JavaScript nicht unbedingt die beste
Programmiersprache fuer diese Aufgaben ist. Die asynchrone Natur von
JS fuehrte in meinen Programmen zur einer immer weiteren
Verschachtelung von Callback-Funktionen. Dies hat mich
schlussendlich anderen Programmiersprachen naeher gebracht. Auch
wieder kurios: als ich endlich die Funktionalitaet von JS bekam, die
ich immer vermisst hatte, habe ich mich von JS abgewendet.
Ich will nicht sagen, dass man Werdegang als Hobbyprogrammier
typisch ist. Ich bin sogar sicher, dass er das nicht ist. Als ich
gerade meine ersten kleinen Programme in JS schrieb, habe ich
erfahren, dass ein Junge in der Parallelklasse sich ebenfalls in der
Kunst des Programmierens uebte. Auf seiner Homepage konnte man das
Ergebnis bewundern. Ein Space-Shooter geschrieben in Delphi,
ruckelfrei, mit ansehnlichen Sprites und vertikalem Scrolling. Mein
Tamagotchi-Klon sah dagegen alt aus.
Waere ich 10 Jahre frueher geboren worden, und haette ich Zugang zu
Computer gehabt, waere mein Weg vielleicht ein anderer gewesen. Ich
haette wahrscheinlich auf einem C64 meine ersten Schritte gemacht,
haette Spiele gespielt und irgendwann kleine Programme in BASIC
geschrieben, haette vielleicht auch ein paar Speicheradressen
gepokt, und damit ueberraschende Effekte erzielt. Auf einem
einfachen System, wie dem C64 war man der Hardware viel naeher, als
auf einem Windows-System. Meine Umtriebe in JS fanden genau am
anderen Ende des Spektrums statt. In einer abgeschirmten Umgebung
ohne jeglichen Systemzugriff, auf einem speichergeschuetzen
Betriebssytem. In diesem ummaurten Gaertchen, kann man vielleicht
die Logik des Programmierens erlernen, aber nicht wie ein Computer
funktioniert.
JavaScript heute und das Web 2.0
================================
Seit meinen ersten Gehversuchen in JavaScript sind viele Jahre
vergangen. Lange hat mich diese Sprache begleitet. Wenn ich mir
Quelltext aus alten Tagen anschaue, ueberlaeuft mich ein eiskalter
Schauer, aber auch ein Anflug von Nostalgie. Ich habe mir viel Neues
angeeignet, habe neue Sprachen, Algorithmen und Paradigmen erlernt.
JavaScript wird fuer mich immer einen besonderen Stellenwert
einnehmen, aber es hat sich veraendert, stark veraendert. Es kommt
mir vor wie ein Freund, von dem man sich ueber die Jahre hinweg
immer mehr entfernt. Waehrend es frueher als dynamische Erweiterung
von Webseiten eingesetzt wurde, die die Nutzererfahrung verbessern
sollte, ist JS heute ein alles subsumierender Moloch.
Da gibt es Single-Page-Applikations, die den Zurueck-Button des
Browser faktisch nutzlos machen, da gibt es tonnenweise
nicht-triviales und vor allem nicht-freies JavaScript, das von
unzaehligen externen Domains nachgeladen wird. Dabei handelt es sich
oft um Tracking-Skripte, die jede noch so kleine Mausbewegung des
Nutzers aufzeichnen, oder um Verhikel zur moeglichst prominenten
Platzierung von Werbebannern. Immer oefter wird JS eingesetzt um
essenzielle Bestandteile einer Webseite, also Text und Bilder,
nachzuladen. Mit deaktivertem JS sieht man nichts als eine
gaehnende, weisse Leere. Auf Performanz wird dabei fast ueberhaupt
keinen Wert gelegt. Wenn mein CPU-Luefter aufjault, nur weil ich
eine bestimmte Internetseite aufrufe, ist das kein gutes Zeichen. Es
ist eigentlich ein Skandal.
Gegenbewegung
=============
Anno 2019 ist das Internet einfach nur kaputt. Dominiert von
Grosskonzernen wird unser Surfverhaltens genauestens ueberwacht,
aufgezeichnet und ausgewertet. Websiteanbieter schaemen sich nicht
ihren marginalen Inhalt, unter Zuhilfenahme von megabytegrossem
JavaScript-Framework-Boilerplate-Code zu praesentieren und sich zu
beschweren, wenn man einen Werbeblocker einsetzt. JavaScript, mein
alter Freund, ist heute der willige Vollstrecker dieses Unrechts.
Was also tun?
Nach meiner bitteren Enttaeuschung mit JavaScript und immer
komplexer werdenden Webseiten, spielte ich mit dem Gedanken der
hypothetischen Einfuehrung eines neuen Webstandards, der auf das
Wesentlich reduziert ist. Ueberschriften, Paragraphen, Links,
Bilder, viel mehr braucht man nicht um Informationen darzubieten.
Alles andere ist ueberfluessiger Plunder und Blenderei. Dies steht
in krassem Gegensatz, zu meinem alten Credo: erst die Form dann der
Inhalt. Heute glaube ich, dass der Inhalt im Vordergrund stehen
muss. Die Praesentation muss lediglich funktional sein. Warum sollte
eigentlich die Webseite bestimmen, auf welche Art und Weise ich den
Inhalt konsumiere? Lasst das doch uns entscheiden (ein gutes
Beispiel fuer die Umsetzung dieses Gedankens ist der Reader-Modus im
Firefox)!
Dieser hypothetische Standard von dem ich sprach, muesste zunaechst
einmal genauestens definiert und dann vor allem etabliert werden.
Kein einfaches Unterfangen. Und warum das Rad neu erfinden, wenn ein
solcher Standard seit Jahren existiert? Ich rede natuerlich vom
Gopher-Protkoll! Und dieser Text steht am Ende dieses langen
Gedankens.
Ende
====
Ich habe diesen Essay vorwiegend fuer mich geschrieben, um meine
Gedanken zu sortieren und zu reflektieren. Ich habe mich fuer einen
Sonntag von der virtuellen Nabelschnur abgetrennt, um sie ohne
Ablenkung zu Papier zu bringen. Danke fuer's Lesen.