Kapitel 2. Warum JavaScript?
Inhaltsverzeichnis
Das Buch kaufen
(Werbung, bitte nicht blockieren.)

Kapitel 2. Warum JavaScript?

Es gibt viele Programmiersprachen. Warum sollten Sie JavaScript verwenden? Dieses Kapitel betrachtet sieben Aspekte, die bei der Wahl einer Programmiersprache wichtig sind, und argumentiert, dass JavaScript insgesamt gut abschneidet:

  1. Ist es frei verfügbar?
  2. Ist es eine elegante Programmiersprache?
  3. Ist es praktisch nützlich?
  4. Gibt es gute Werkzeuge, insbesondere gute integrierte Entwicklungsumgebungen (IDEs)?
  5. Ist es schnell genug für das, was Sie tun möchten?
  6. Ist es weit verbreitet?
  7. Hat es eine Zukunft?

Ist JavaScript elegant?

Ja und nein. Ich habe ziemlich viel Code in verschiedenen Programmiersprachen aus unterschiedlichen Paradigmen geschrieben. Daher bin ich mir bewusst, dass JavaScript nicht der Gipfel der Eleganz ist. Es ist jedoch eine sehr flexible Sprache, hat einen einigermaßen eleganten Kern und ermöglicht es Ihnen, eine Mischung aus objektorientierter und funktionaler Programmierung zu verwenden.

Die Sprachkompatibilität zwischen JavaScript-Engines war früher ein Problem, ist es aber dank der test262-Suite, die Engines auf Konformität mit der ECMAScript-Spezifikation prüft, nicht mehr. Im Gegensatz dazu stellen Browser- und DOM-Unterschiede immer noch eine Herausforderung dar. Deshalb ist es normalerweise am besten, sich auf Frameworks zu verlassen, um diese Unterschiede zu verbergen.

Ist JavaScript nützlich?

Die schönste Programmiersprache der Welt ist nutzlos, wenn sie es Ihnen nicht ermöglicht, das Programm zu schreiben, das Sie benötigen.

Andere Technologien ergänzen JavaScript

Es gibt mehr Technologien als nur HTML5, die JavaScript ergänzen und die Sprache nützlicher machen:

Bibliotheken
JavaScript verfügt über eine Fülle von Bibliotheken, mit denen Sie Aufgaben erledigen können, die von der Analyse von JavaScript (über Esprima) bis zur Verarbeitung und Anzeige von PDF-Dateien (über PDF.js) reichen.
Node.js
Die Node.js Plattform ermöglicht es Ihnen, serverseitigen Code und Shell-Skripte (Build-Tools, Test-Runner usw.) zu schreiben.
JSON (JavaScript Object Notation, behandelt in Kapitel 22)
JSON ist ein Datenformat, das in JavaScript verwurzelt ist und für den Datenaustausch im Web (z. B. die Ergebnisse von Webdiensten) populär geworden ist.
NoSQL-Datenbanken (wie z. B. CouchDB und MongoDB)
Diese Datenbanken integrieren JSON und JavaScript eng.

Hat JavaScript gute Werkzeuge?

JavaScript erhält immer bessere Build-Tools (z. B. Grunt) und Test-Tools (z. B. mocha). Node.js ermöglicht es, diese Art von Tools über eine Shell auszuführen (und nicht nur im Browser). Ein Risiko in diesem Bereich ist die Fragmentierung, da wir zunehmend zu viele dieser Werkzeuge bekommen.

Der Bereich der JavaScript-IDEs ist noch jung, aber er entwickelt sich schnell. Die Komplexität und Dynamik der Webentwicklung machen diesen Bereich zu einem fruchtbaren Boden für Innovationen. Zwei Open-Source-Beispiele sind Brackets und Light Table.

Zusätzlich werden Browser zunehmend zu fähigen Entwicklungsumgebungen. Insbesondere Chrome hat in letzter Zeit beeindruckende Fortschritte gemacht. Es wird interessant sein zu sehen, wie stark IDEs und Browser in Zukunft integriert werden.

Ist JavaScript schnell genug?

JavaScript-Engines haben enorme Fortschritte gemacht und sich von langsamen Interpretern zu schnellen Just-in-Time-Compilern entwickelt. Sie sind jetzt schnell genug für die meisten Anwendungen. Darüber hinaus sind bereits neue Ideen in der Entwicklung, um JavaScript für die verbleibenden Anwendungen schnell genug zu machen:

  • asm.js ist eine (sehr statische) Teilmenge von JavaScript, die auf aktuellen Engines schnell läuft, etwa 70 % so schnell wie kompiliertes C++. Sie kann beispielsweise verwendet werden, um leistungskritische algorithmische Teile von Webanwendungen zu implementieren. Sie wurde auch verwendet, um C++-basierte Spiele auf die Webplattform zu portieren.
  • ParallelJS parallelisiert JavaScript-Code, der die neuen Array-Methoden mapPar, filterPar und reducePar (parallelisierbare Versionen der vorhandenen Array-Methoden map, filter und reduce) verwendet. Damit die Parallelisierung funktioniert, müssen Callbacks in einem speziellen Stil geschrieben werden; die Haupteinschränkung besteht darin, dass Daten, die nicht innerhalb der Callbacks erstellt wurden, nicht verändert werden können.

Ist JavaScript weit verbreitet?

Eine weit verbreitete Sprache hat normalerweise zwei Vorteile. Erstens ist eine solche Sprache besser dokumentiert und unterstützt. Zweitens kennen mehr Programmierer sie, was wichtig ist, wenn Sie jemanden einstellen müssen oder Kunden für ein auf der Sprache basierendes Werkzeug suchen.

JavaScript ist weit verbreitet und zieht beide der genannten Vorteile

  • Heute gibt es Dokumentation und Unterstützung für JavaScript in allen Formen und Größen: Bücher, Podcasts, Blog-Beiträge, E-Mail-Newsletter, Foren und mehr. Kapitel 33 weist Sie auf wichtige Ressourcen hin.
  • JavaScript-Entwickler sind sehr gefragt, aber ihre Reihen nehmen auch ständig zu.

Hat JavaScript eine Zukunft?

Mehrere Dinge deuten darauf hin, dass JavaScript eine glänzende Zukunft hat:

  • Die Sprache entwickelt sich stetig weiter; ECMAScript 6 sieht gut aus.
  • Es gibt viel JavaScript-bezogene Innovation (z. B. die bereits erwähnten asm.js und ParallelJS, Microsofts TypeScript usw.).
  • Die Webplattform, deren integraler Bestandteil JavaScript ist, reift rasant.
  • JavaScript wird von einer breiten Koalition von Unternehmen unterstützt – keine einzelne Person oder Firma kontrolliert es.

Schlussfolgerung

Wenn man die vorangegangene Liste dessen, was eine Sprache attraktiv macht, betrachtet, schneidet JavaScript bemerkenswert gut ab. Es ist sicherlich nicht perfekt, aber im Moment ist es schwer zu schlagen – und die Dinge werden nur besser.

Weiter: 3. Die Natur von JavaScript