"Ist die Vorherrschaft von JavaScript ein historischer Unfall oder etwas anderes?"
Ich persönlich bin der Meinung, dass der Erfolg von JS ebenso eine Frage des Designs ist wie viele andere und es auch weiterhin ablehnen wird, dies zuzugeben, und nicht nur einen Unfall oder nur die Tatsache, dass es das erste Kind auf dem Spielplatz war.
Obwohl Brendan Eich so benannt wurde, dass er Java-Entwickler anspricht und wie die C-basierte Syntax von Java auch Java-Entwickler anspricht, traf er eine der schlimmsten Entscheidungen in der Geschichte des WWW, die hauptsächlich aus dem Schema für die eigentliche Sprachmechanik abgeleitet werden sollte Inspiration, die Java-Entwicklern anscheinend überhaupt nicht gefallen hat (was ich sehr amüsant finde).
JavaScript verwendet eine hochflexible / granulare prototypische Vererbung für OOP, verfügt über Abschlüsse, Typen sind zu 100% dynamisch, Funktionen selbst sind erstklassig, sodass sie wie jedes andere Objekt oder jeder andere Datentyp weitergegeben und in verschiedenen Kontexten und sogar wiederverwendet werden können werden im laufenden Betrieb auf Objekte angewendet, als wären sie von Anfang an als tatsächliche Objektmitglieder deklariert worden. Es ist praktisch schreiend, für ereignisgesteuerte Architekturen verwendet zu werden, die eine Menge proprietären Mülls normalisieren oder hochgradig nichtlineare UI-Probleme behandeln müssen.
Am Ende des Web-Beginns war es die einzige Sprache, die jemals ernsthaft der Aufgabe gewachsen war, Browser durch einen tatsächlichen Browserkrieg zu normalisieren, in dem Netscape und IE absichtlich versuchten, die Dinge anders zu machen, gefolgt von mehr als 10 Jahren Browser Waffenstillstand, in dem der IE die Dinge einfach anders gemacht hat, weil MS faul und in einigen zu Recht dummen wettbewerbswidrigen Praktiken verankert ist, was zu einer Stagnation des Browsers führt, und jetzt eine Welt, in der sich die Browser endlich auf dieselbe allgemeine Spezifikation in Bezug auf HTML einigen. CSS und die DOM-API mit IE sind nur 2-3 Jahre hinter den neuesten Entwicklungen zurück und nicht 10 Jahre, da Google und Mozilla JIT-Compiler aus dem Weg geräumt haben, die die Leistungszahlen des IE so erbärmlich erscheinen ließen. MS wurde schließlich beschämt, ihre verdammten Browser ordnungsgemäß zu modernisieren.IE9 ist das erste Unternehmen, das die DOM-API-Unterstützung tatsächlich auf ein Niveau aktualisiert, das Netscape bereits im Jahr 2000 unterstützt hat.
JS hatte Konkurrenz in Form von Java Applets und Adobe ActionScript for Flash. Das war's auch schon an der Front der ernsthaften Konkurrenten. MS hat versucht, VB zu pushen, ist aber kläglich gescheitert, weil ... nun ... VB. Auch proprietär. Es gab tatsächlich viel mehr Flash-Sites, als die meisten Leute glauben. Mit Suchmaschinen konnte man die dummen Dinge einfach nicht finden. Applets machten ihr eigenes Ding und es war hässlich. Wirklich hässlich. JS war die einzige Sprache, die sich wirklich mit dem Problem befasste, im Kontext mehrerer Browser von Personen zu arbeiten, die sich nicht einig waren, wer die Spezifikationen festlegte, mit denen sie übereinstimmen sollten.
In den letzten Jahren ist JS in einen viel breiteren Anwendungsbereich explodiert. In Kombination mit anderen Webtechnologien ist es darauf ausgerichtet, im Grunde alle anderen Lösungen auf der mobilen Front umzuwerfen, da die + Webtechnologie derzeit wirklich die einzig realistische Wahl ist, wenn Sie wirklich eine App schreiben und sie auf alles anwenden möchten.
Also nein, und ja, ich bin ein großer Fan, aber ich glaube nicht, dass es alle anderen Konkurrenten auf der Client-Seite aus Versehen überfordert hat, genauso wenig wie es jetzt als Unfall angesehen werden könnte, wenn es außerhalb des Browsers explosionsartig populär wird. Vor JS gab es nicht viele schemaähnliche Sprachen, die nicht primär akademisch waren. Dies hat JS einige starke Vorteile verschafft, und die besonderen Bedürfnisse der Kundenseite haben es möglich gemacht, dass diese Vorteile langsam kristallklar werden.