JavaScript: Kapselung und Vererbung (Teil 1) Binär oder Text - das ist hier die Frage

Ein (schmerzhaftes) Eingeständnis

Published on Thursday, June 19, 2014 1:00:00 PM UTC in Personal & Programming

Ganz im Gegenteil zu C# und ein paar anderen Sprachen, die mir ans Herz gewachsen sind, hege ich insgeheim eine tiefe Abneigung gegen JavaScript. Als ich darüber etwas genauer nachdachte, erstaunte mich diese Erkenntnis umso mehr; schließlich machte ich meine ersten Erfahrungen damit Mitte/Ende der Neunziger im Netscape Navigator, um hässliche Rollover-Effekte auf noch hässlicheren Webseiten einzubauen. Damit sollte ich mehr als genug Zeit gehabt haben, um mich im Lauf der Jahre irgendwie mit der Sprache anzufreunden. Warum also hat es nie geklappt, mit JavaScript warm zu werden?

Die Antwort ist genauso trivial wie erschütternd: weil ich die Sprache nie wirklich gelernt habe, und weil das bei allen Personen um mich herum, mit denen zusammen ich bisher an JavaScript gearbeitet habe, genauso war. Im Gegensatz zu anderen Gelegenheiten, egal ob bei C# oder Python oder Perl, bei denen ich mich immer zuerst mit den Grundlagen vertraut gemacht habe, war JavaScript… einfach da. Der erste Kontakt war das Nach-Hacken irgendwelcher Dinge, die ich online gefunden habe, und irgenwann "konnte" ich die Sprache einfach. Dabei ist mein Umgang damit bis zum heutigen Tag immer wieder nur Trial and Error ohne tieferes Verständnis dafür, warum manches funktioniert und anderes nicht. Dabei wäre das Verständnis grade für jemanden mit meinem Hintergrund, der als erste Sprachen C und C++ gelernt und nie viel Kontakt mit funktionalen Sprachen hatte, umso wichtiger gewesen. Stattdessen holte ich das nie nach, und im Grunde blieb JavaScript immer ein insgeheim belächeltes Spielzeug zur Manipulation des DOM. Auch in meinem Umfeld schien sich niemand auch nur ansatzweise daran zu stören oder den Sachverhalt anders zu sehen.

Sehr langsam reifte diese Erkenntnis zu ihrem vollen und wahrhaftigen Ausmaß in mir, bis ich irgendwann bereit war zu einem schmerzhaften Eingeständnis: ich "kann" JavaScript nicht. Ich bin bestenfalls ein JavaScript-Amateur, der die gröbsten Stolperfallen umschiffen kann, ohne zu wissen, warum man überhaupt stolpert.

Das war aber auch eine befreiende Einsicht. Denn mit diesem Eingeständnis war der Grund für meine Abneigung auch klar: wie kann man sich mit etwas anfreunden, das immer nur ein Mysterium zu sein scheint? Wie kann man eine Sprache schätzen lernen, wenn man 15 Jahre lang nur Hacks gesehen und selbst produziert hat? Nichts anderes ist die Wahrheit: der überwiegende Teil des JavaScripts, das ich in den letzten Jahren vorgefunden, weiterentwickelt, aber auch selbst von Grund auf neu geschrieben habe, ist schlicht Müll.

Und das muss sich ändern.

Jetzt.

Tags: Amateur · JavaScript