Entwicklung mit JavaScript: Gut Ding will Weile haben

Michael Thomas
© Shutterstock.com/Iscatel

Keine Schimpftirade, sondern einen Schrei der Verzweiflung sieht der selbstständige Softwareentwickler Manuel Bernhardt in seinem Artikel „Generation Javascript“, der sich mit dem Status quo der JavaScript-Welt auseinandersetzt.

Deren Hauptproblem, so Bernhardt, ist zwar nicht auf die JavaScript-Community beschränkt, tritt dort jedoch besonders deutlich zu Tage: Bevor man überhaupt etwas zustande bringen kann, muss man sich zunächst durch einen regelrechten Dschungel aus Bibliotheken kämpfen, die eine ähnliche Funktionalität bieten, Copy & Paste-Code enthalten und eventuell gar Abhängigkeiten zu anderen Bibliotheken aufweisen, die im Grunde unnötig sind. Ähnliches gilt für den gewählten Paketmanager. Bernhardt vergleicht diese Vielfalt mit einem touristisch orientierten orientalischen Basar, wo jeder Stand die gleichen glitzernden Kinkerlitzchen anbietet, die Unterschiede also allerhöchstens als graduell zu bezeichnen sind.

Hat man diese Einstiegshürde gemeistert und die ersten Kniffe der Sprache kennengelernt, heißt dies Bernhardt zufolge jedoch noch lange nicht, dass man auf dem besten Wege ist, auch produktiv arbeiten zu können. Denn der Vorteil unmittelbarer Belohnungsgefühle, die durch kurze Coding- und Refresh-Zyklen ermöglicht werden, wird z.T. mit handfesten Nachteilen erkauft.

Geschwindigkeit – ein zweischneidiges Schwert

Der erste Nachteil besteht laut Bernhardt darin, dass man sich sozusagen dem Geschwindigkeitsrausch hingibt und infolgedessen Code produziert, der zwar einerseits auf kurze Sicht eine brauchbare Funktionalität liefert, andererseits jedoch auf lange Sicht schwer zu warten und weiterzuentwickeln ist. Im Zweifelsfall verharrt der Code in seinem mit der heißen Nadel gestrickten – eventuell übermäßig komplizierten – Zustand, anstatt einer Optimierung unterzogen zu werden.

Den zweiten großen Nachteil sieht Bernhardt in dem Umstand, dass die hohe Entwicklungsgeschwindigkeit kaum Pausen bietet, die für eine kreative Betrachtung des Codes, ein Nachdenken darüber, wie man weiter verfahren möchte, genutzt werden könnten. Oder kurz gesagt: der Designprozess leidet – ein Makel, der Bernhardts Erfahrung zufolge den meisten zeitgenössischen Code-Schmieden anhaftet.

Dritter und letzter Nachteil kurzer Iterationszyklen besteht in der Fülle an Bibliotheken, bei denen nie recht klar ist, ob sie in absehbarer Zeit überhaupt noch up-to-date sein werden, d.h. die Wahl einer adäquaten Bibliothek ist immer wieder eine Herausforderung. Das Fehlen konstanter Qualität in Teilen der JavaScript-Welt ist laut Bernhardt eine Folge des ersten Dotcom-Booms vor knapp 15 Jahren, der zahlreiche Autodidakten in die IT-Welt spülte. Deren Mangel an formaler Ausbildung, so Bernhardt weiter, habe zu einer gewissen Rücksichtslosigkeit, einer eher eingeengten, auf kurzfristige Ziele ausgerichteten Perspektive geführt. Im Falle der Libraries heißt dies beispielsweise, dass ständig neue Bibliotheken aus der Taufe gehoben werden, anstatt bestehende auszubauen.

Mehr Handwerkskunst!

Die von Bernhardt vorgeschlagene Lösung für das Geschwindigkeits-Dilemma lautet: Die JavaScript-Welt sollte sich vermehrt einen Arbeitsethos zu eigen machen, dem er analog zu althergebrachter Handwerkskunst beispielsweise die Liebe zum Detail, eine sorgsame Ausarbeitung sowie Stolz auf die Qualität des abgelieferten Produkts zurechnet. Demzufolge sollte – entgegen gängiger Ansätze, wie sie von manchen Online-Crashkursen oder Hackathons vertreten werden – nicht möglichst jeder Programmieren, sondern in erster Linie diejenigen, die auch wirklich das nötige Rüstzeug mitbringen.

Ähnliches gilt für Projekte im Allgemeinen: Nicht alle sollten öffentlich verfügbar gemacht werden. Stattdessen empfiehlt Bernhardt der JavaScript-Community, in Zukunft stärker zu filtern und auszusieben – was jedoch allein aufgrund ihrer schieren Größe alles andere als leicht fällt. Es mangelt schlicht und ergreifend an Vorbildern, die eine gewisse Orientierung bieten könnten. Doch diese, so Bernhardt, ist bitter nötig: Möchte die JavaScript-Welt nicht irgendwann in kaum noch zu bewältigenden Legacy-Projekten ersticken, muss sich in einem ersten Schritt ein gewisses Bewusstsein für die von ihm angesprochenen Probleme entwickeln – am besten schon gestern.

Aufmacherbild: abstract night acceleration speed motion von Shutterstock.com / Urheberrecht: Iscatel

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: