Netzgeflüster: Meine Hassliebe zu Javascript

Das Projekt, was ich gerade verlassen habe, war für mich beim damaligen Einstieg sehr verblüffend. Verblüffend, weil ich dachte, dass ich JavaScript kann und eigentlich recht viel darüber weiß. Allerdings musste ich lernen, dass ich nur das über JavaScript wusste, um zu bedienen, was ich bis dahin brauchte. Die JavaScript Welt war dann doch größer als erwartet und v.A. gab es frappierend viele Möglichkeiten ein- und dieselbe Sache zu coden. Das war irgendwie erschreckend. Jetzt bin ich in einem Projekt, dass keinen Web-Schwerpunkt hat und ich werde es nicht brauchen. Ich muss mir noch überlegen, ob ich das traurig finde. Heute in Netzgeflüster: eine Ode und ein Abgesang auf JavaScript.

Beware the JavaScript

JavaScript (JS) ist bekanntlich eine Skriptsprache, die nichts mit Java zutun hat, sondern nur so benannt wurde, um ihren Bekanntheitsgrad dank des Java-Booms zu vergrößern. So wirds gemacht … . JS wurde lange benutzt, um im Web Umfeld die Logik bereitzustellen. Wir erinnern uns: in der Web-Entwicklung soll man das Modell, die UI und die Logik getrennt verarbeiten. Heißt: das Modell wird durch HTML vorgegeben und ist die grobe Gliederung der Web-Schnittstelle. CSS liefert beispielsweise die konkrete Optik und die Logik (was passiert mit Nutzereingaben? Wann blinkt was?) erledigt beispielsweise ein Framework wie JavaScript. Und da JS so einfach und intuitiv anwendbar ist (es sieht aus wie Pseudocode! Pseudocode!), wurde das Ding irgendwie ein Selbstläufer. Es gab mehr und mehr Derivate, die den Befehls-Stack von JS erweitern. AngularJS, jQuery als perfekte Schnittstelle um beispielsweise Änderungen an der Optik unter bestimmten Bedingungen heraus zu triggern, und und und. Und letzten Endes kann man JS sogar eigenständig auf Servern und Mikrocontrollern laufen lassen. Ich werfe außerdem noch Begriffe wie Node.js in den Raum und verschweige Dojo … . JavaScript ist ganz schön mächtig geworden.

Historisch. Gewachsen.

Ich bewundere es wirklich sehr, wenn jemand kleine Anwendungen mit Javascript und wenig zusätzlichen Bibliotheken hochzieht. Und ich bewundere die Community rund um Javascript, die das Ding zu dieser Wolke aus Toolkits und erweiternden Skriptsprachen gemacht hat. Aber irgendwie macht mir Javascript im Berufsleben immer ein bisschen das Leben schwer. Das liegt natürlich zum Teil einfach auch daran, dass ich in meiner Freizeit wenig bis kaum Projekte damit realisiere. Zumindest wäre das der beste Weg, da mal tiefer einzusteigen. Irgendwelche Tutorials fangen ja leider viel zu oft im Urschleim an. Andere Tutorials trennen nicht die verwendeteten Technologien und es ist schwer herauszufiltern, ob der Inject jetzt zum Javacript-Befehlssatz gehört oder nicht. Um mal ein Beispiel zu geben. Im Source Code großer, historisch gewachsener Projekte ist das Problem meist dasselbe. Man sieht tausend Art und Weisen wie ein Request abgeschickt wird, dort wird ein Promise gehandelt, dort nicht. Klar: wenn man denn von Anfang an Coding-Guidelines hätte, kann das anders aussehen (mit Betonung auf kann). Aber das ist noch nicht alles … da ist auch noch Javascript selbst als die Mutter der Madness.

Batman!

Gary Bernhardt hat es 2012 gut auf den Punkt gebracht, was mich an JavaScript stört. An diesem historisch gewachsenen Monster mit seinen logischen Unschlüssigkeiten, dass aber auf unsägliche Art immer und immer weitergewachsen ist. Quasi wie der süße Brei. Oder der Blob. Falls ihr nicht wisst, was ich meine und was mich stört (oder falls ihr was zum schmunzeln braucht), schaut euch mal Gary Bernhardts Talk mit der schönen Überschrift „Wat“ an:

Zum Video auf Gary Bernhardts Webseite (Screencapture mit Audio).

Right. WAT

„Na na na na na na na na na na na na na na na na… BATMAN!“, via Miriam Villazón Valbuena (Youtube)

Wer was ähnlich schönes sehen möchte und mehr Zeit zum lesen hat, kann es auch noch hier probieren: Brainfuck beware: JavaScript is after you! Patricio Palladino beschreibt darin wie er ein Tool aufbaut, das anfänglich numerische Werte, später aber so ziemlich alles in JavaScript-Sequenzen von ()[]{}!+ transformiert. True Story. Sieht nicht nur aus wie Hieroglyphen, sind irgendwie auch welche. Wer brauch da noch Brainfuck? Da entsteht doch leise der Eindruck, dass JavaScript nicht mit Brain On konzipiert wurde und sich permanent irgendwo zwischen Madness und Genialität bewegt. Wer aufmerksam die Geschichte der Entwicklung von JavaScript liest, bemerkt, dass der logische Core der Frühphase offensichtlich in frappierend kurzer Zeit entstanden ist. Irgendwie schon wieder bewunderswert was für ein Selbstläufer JS geworden ist. Immerhin wurde es mit viel Brain On weitergebastelt und in tausende verwandte System wie AngularJS verzweigt wurde. Was soll man sagen (außer WAT). Mir fehlen die Worte.

Werde ich traurig sein, wird mir JavaScript fehlen? Die Antwort ist nein. Aber ich werde JS früher oder später eh wieder brauchen. Weil. Es. Überall. Ist. Ich weiß nie, ob ich es hassen oder bewundern soll. Coded ihr gerne mit JavaScript? Oder pflegt ihr auch die Hassliebe?

Netzgeflüster ist eine Kategorie meines Blogs in der ich mich immer zwischen dem 10. und 15. eines jedes Monats Themen rund um IT, Forschung, Netzwelt, Internet und eben auch Gerüchten widme. 🙂

8 Antworten

  1. Früher habe ich Java script sehr verabscheut, aber in Anbetracht seiner Mächtigkeit und seiner Relevanz dieses Urteil revidiert. Die in meinen Augen coolste JavaScript library ist http://cs.stanford.edu/people/karpathy/convnetjs/.
    Ich selbst habe allerdings nur Kleinigkeiten in JavaScript geschrieben und für mich wird es in absehbarer Zeit allenfalls im Zusammenspiel mit QML relevant sein. Die Skriptsprache meiner Wahl wird wohl noch lange Python sein.

    1. Avatar von Miss Booleana
      Miss Booleana

      Sehr verabscheut klingt nach ähnlich starken Gefühlen gegenüber Javascript wie bei mir 😉 Die library scheint wirklich ganz cool zu sein – danke für den Tipp! Und wie bei quasi jeder JS-lib ist es mal wieder frappierend wie einfach sie scheinbar anzuwenden ist … ach dieses Javascript.
      Python habe ich recht lange während meiner Unizeit benutzt. Auch mit Begeisterung. Es war so stabil, intuitiv und hatte ebenso viele Libs. Und Command Line Intepreter finde ich sowieso immer ganz cool. Aber seit dem Start ins Berufsleben habe ich es weniger und weniger benutzt. Weil es in den Projekten bisher leider nie gefragt war (eigentlich ein Jammer) und ich privat ziemlich wenig IT mache. Menno.

  2. Habe selber keine Erfahrungen mit Javascript, aber ich lese diese Rubrik super gerne. Bitte weitermachen 🙂

    1. Avatar von Miss Booleana
      Miss Booleana

      Wow! Dankeschön für den lieben Kommentar. Das freut mich sehr. Manchmal ist es hier tatsächlich schwer weiterzumachen, da die mit Abstand meisten Leser hier Serien-, Film- und Bücher-Artikel suchen und alles andere eher nicht anklicken. Deswegen bin ich gerade sehr glücklich über deinen Kommentar. 😀

  3. Zu Javascript habe ich auch eine innige Hassliebe. Ich arbeite viel mit jQuery, da geht’s inzwischen, aber außerhalb davon drücke ich mich, wo es nur geht. :‘) Liegt natürlich zum einen daran, dass mir natürlich auch überall außerhalb meiner Komfortzone die Übung fehlt, weil jQuery für meine Anwendungen so viel bequemer ist, aber irgendwie bin ich mit normalem JS nie richtig warm geworden. Und durch die Uni bin ich eh bei Python viel fitter (in den Digital Humanities liebt man Python. Sehr. xD), da bleibt das wohl einfach mein Skriptsprachen-weapon of choice.

    1. Avatar von Miss Booleana
      Miss Booleana

      Haha! Das Gefühl kenne ich gut! Ich kann mich auch noch an Zeiten erinnern wo man aufpassen musste, wenn man sowohl embedded JS-Code als auch jQuery hat und Angst haben musste, dass man sich was zerschießt. Aber das passiert wohl nicht mehr. jQuery fand ich auch immer angenehm. Aber auch, weil das und css zusammen einem schon soviel Möglichkeiten bereitstellt und eben nicht soviele Varianten und Lücken hat wie die Anwendung von Javascript. Ich musste auf Arbeit so lange und soviel mit JS arbeiten, aber war jedesmal wieder bedient, wenn ich mehrere Lösungsmöglichkeiten für dieselbe Funktionalität sah oder Code, der quasi nicht mehr lesbar ist (was sicherlich auch an der Handhabe liegt). Grrrr.

      An der Uni habe ich auch viel mit Python gemacht 😀 Schöne Sache!

  4. […] liebe Binge-Readerin für diesen Kommentar unter dem Artikel über JavaScript in der IT-Rubrik des Blogs „Netzgeflüster“. IT nimmt hier im Blog einen kleineren […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert