In der Antike hatte Brendan Eich ein Sprachdesign, und in der heutigen Welt ist JavaScript eine beliebte Sprache, die an vielen verschiedenen Orten implementiert und verwendet wird.
Was hat die Sprache populär gemacht? War es die C-artige Syntax, die früheren Programmierern vertraut war? Hatte Netscape genügend Kontrolle über den Markt, um ihn zur Nutzung zu zwingen? Oder gibt es einen tieferen Grund, warum JavaScript beliebt ist und andere Sprachen nicht?
Insbesondere, wenn Sie eine Sprache so populär wie JavaScript machen müssten, welche Anfangsbedingungen müssten Sie erfüllen, um ihre wachsende Popularität wiederherzustellen?
programming-languages
javascript
history
Mathnerd314
quelle
quelle
Antworten:
Ich habe eine frühere Antwort kommentiert , aber sie wurde groß, also dachte ich, ich würde sie herausfiltern.
Jede neue Sprache kann nur dann erfolgreich sein, wenn sie eine aufstrebende Grenze in der Datenverarbeitung ausnutzt.
Vorherige Beispiele:
Zur Beantwortung Ihrer Frage war JavaScript die Sprache für Netscape Navigator, als dies der vorherrschende Browser war. Insbesondere war es die Sprache für die dynamische Front-End-Entwicklung.
Die nächste große Sprache muss eine andere Grenze lösen. Im Bereich der Back-End-Webentwicklung scheint es immer noch ein Problem zu geben. Außerdem ist Mobile Computing trotz Apples aktueller Dominanz nicht vollständig gelöst. Es gibt auch das Aufkommen von Multi-Core- und Cloud-Computing, von dem viele Sprachen zu profitieren versuchen (wie gleichzeitige Sprachen wie Erlang und Go oder funktionale Sprachen wie Haskell und OCaml).
Unternehmer haben den Ausdruck "jemanden in Brand stecken und ihm einen Feuerwehrschlauch verkaufen". Wenn Sie also eine neue Sprache einführen möchten, wessen Feuer löschen Sie dann? Jede neue Grenze im Computerbereich bringt eine ganze Reihe von Kopfschmerzen mit sich. Geben Sie also etwas Aspirin und Sie werden golden sein.
quelle
Es ist ziemlich einfach: Netscape verwendete eine JavaScript-Engine in ihrem Browser. Wenn Sie Scripting im Web tun wollte, war JavaScript es . Internet Explorer hatte (und hat) sowohl JavaScript als auch VBScript. Wenn Sie jedoch in mehr als nur IE arbeiten möchten, müssen Sie natürlich JavaScript verwenden.
JavaScript ist eine großartige Sprache für sich, aber es wäre heutzutage bei weitem nicht so beliebt, wenn es nicht die einzige Sprache wäre, mit der Sie HTML schreiben können.
quelle
Ich werde ein Update hinzufügen, da ich denke, dass JS im Laufe der Jahre in einigen wichtigen Punkten missverstanden wurde.
Es war nicht Ajax
Ich sage nicht, dass Ajax für die Entwicklung des Verständnisses von JS als Sprache nicht wichtig war, aber der Kampf um die Dominanz der clientseitigen Browser war lange bevor der Begriff Ajax geprägt wurde vorbei.
Es war nicht, weil es das einzige Spiel in der Stadt war
Es gab Java Applets, Flash und VBScript. Ich habe gehört, dass es in den 90er Jahren sogar andere Skriptoptionen gab (aber erforderliche Plug-Ins IIRC). Java ist sehr beliebt, aber Applets waren ein düsterer Fehler. Sie waren hässlich und oft Schweizer Sicherheitskäse, aber was noch wichtiger ist, ich glaube nicht, dass Java aus Gründen, auf die ich später eingehen werde, gut passt. Flash war sehr beliebt und hatte jahrelang einen starken Einstieg, aber selbst als Flash endlich über SEO-Optionen verfügte, wurden diese normalerweise nicht verwendet, sodass es sehr schwierig war, ausschließlich Flash-Websites zu entdecken. Selbst jetzt aktualisieren die meisten von uns regelmäßig Flash, damit wir Filme sehen können, aber das ist die wahre Achillesferse. Proprietäre Technologie in Browsern ist ärgerlich. Und natürlich VB, das würde immer nur mit IE funktionieren, also nein.
Der richtige Ort zur richtigen Zeit ist wichtig, aber nicht die vollständige Antwort
Ja, ohne die zu fahrende Web-Welle hätten wir möglicherweise nie so schnell JavaScript oder eine Sprache in der gängigen Verwendung gesehen. Oder vielleicht hätten wir ...
Es war das perfekte Werkzeug für die Problemdomäne
Ich würde sagen, um 2000 herum hatten wir folgende Probleme:
Wir brauchten also eine Sprache, die sowohl tiefgreifend war als auch die Möglichkeit bot, eine fortschrittlichere App mit tragbaren / wiederverwendbaren Komponenten auf der Clientseite zu strukturieren und zu entwickeln, die aber auch für Leute zugänglich war, die nicht viel wussten und nur Dinge brauchten wird angezeigt / wieder angezeigt, wenn Sie auf eine Schaltfläche geklickt haben.
Darüber hinaus war MS das unbeholfene / inkompetente und / oder dominante, wettbewerbsfeindliche Scharmützel, das sie manchmal sind, und konnte ihre nicht konforme DOM-API-Implementierung für ein gutes solides Jahrzehnt nicht wirklich berühren, obwohl sie es geschafft hatten Fügen Sie gelegentlich Dinge wie das ursprüngliche XHR-Objekt und querySelectors in IE8 hinzu.
Das Wichtigste ist, dass wir es um das Jahr 2005 geschafft haben, die Komplexität bei der Behandlung browserübergreifender Probleme so vollständig zu begraben, dass es im JavaScript-Bereich kein ernstes Problem mehr gab. Das Versagen, CSS2 so lange zu unterstützen, wie dies der Fall war, verursachte erheblich mehr Schmerzen. Ich empfehle, quirksmode.org zu besuchen, um eine Vorstellung von der Menge und Tiefe der Probleme zu bekommen . Ich denke nicht, dass dies eine Leistung ist, die in so vielen Java-Bibliotheken reibungslos und möglich gewesen wäre, schon gar nicht in VB und definitiv nicht mit einer Plug-In-Strategie, deren Ziel es ist, das gesamte Problem zu umgehen, indem man sich zu einem völlig neuen Produkt entwickelt Art von Belästigung.
Andere Sprachfunktionen, die für die Benutzeroberfläche sehr sinnvoll sind:
Erstklassige Funktionen: Nach meiner Erfahrung eignet sich nichts besser für asynchrone Verarbeitung und ereignisgesteuerte Paradigmen als eine Sprache, die ihre Funktionen erstklassig macht. Beide Anliegen werden regelmäßig in der UI-Arbeit angesprochen.
Dynamische Typen: Casting und Typprüfung sind in JavaScript sehr selten erforderlich, wodurch der Code übersichtlich und schlank bleibt. UI-Probleme können sehr schnell komplex und chaotisch werden. Um den Datenfluss zu verstehen und zu ändern / pflegen, ist es wichtig, dass der Code eng und absolut klar ist.
Es ist nicht protektionistisch: Seit vielen Jahren predigt jemand, dass Sie sich vor Ihren eigenen Fehlern und den dummen Dingen, die der andere mit Ihrem Code anstellen könnte, schützen müssen, indem Sie Code-Konstrukte sehr starr und unflexibel machen und sich nicht in die ursprüngliche Absicht einmischen geschrieben mit und viele Leute haben zugehört. Ich werde nicht sagen, dass sie immer falsch sind (ich denke es könnte sein), aber ich werde sagen, dass dies die falsche Herangehensweise an die Web-Benutzeroberfläche ist, und ich glaube, dass dies ein Phänomen ist, das wir ausgearbeitet, gepflegt und geändert haben. Neben-GUIs wurden in der Vergangenheit in der Regel in restriktiveren Sprachen viel schneller und einfacher ausgeführt als solche. Die schnelle und einfache Möglichkeit, Änderungen im laufenden Betrieb vorzunehmen, macht dynamische / fließende Architekturschemata, für die kein erheblicher Aufwand an Indirektion und Abstraktion erforderlich ist, wesentlich einfacher. Auf diese Weise können Sie leichter erkennen, was zur Hölle in Ihrem Code vor sich geht und Ausnahmen viel sauberer vorwegnehmen oder behandeln. Es ist einfacher, einfach durch die bloße Tugend aufrechtzuerhalten, die es ermöglicht, bei allem, was Sie tun, direkter und mit viel weniger Code zu sein, als dies nach der anderen Philosophie der Fall wäre.
Wie wurde JS populär? Es hat sich immer wieder als hervorragendes Werkzeug für den Job erwiesen. Es ist nicht die Sprache, an der wir "hängen bleiben". Es ist die Sprache, die möglicherweise einen großen Teil der Evolution in populären Sprachen im Allgemeinen inspiriert hat. Und dafür können Sie Brendan Eich und allen Zeitgenossen danken, die dazu beigetragen haben, die Idee in den Kopf zu bekommen, dass sie Scheme als Design-Inspiration für das vorliegende Problem mehr mochten, als er Java mochte.
quelle
Eine Taktik, die anfangs verwendet wurde, war der Name - "JavaScript" sollte auf der Popularität von Java aufbauen, das seit einiger Zeit auf dem Vormarsch war.
quelle
War es nicht die einzige browserübergreifende clientseitige Skriptsprache? Seine Popularität scheint im Gleichschritt mit der des Internets zugenommen zu haben, was Sinn macht.
quelle
Zur richtigen Zeit am richtigen Ort. Und es hat nicht ganz gesaugt.
Es ist der gleiche Grund, warum Facebook gewinnt.
quelle
Meiner Meinung nach ist Javascript beliebt, weil es gut unterstützt wird.
Erstens ist es die einzige Sprache für Netscape und IE in seiner Zeit. Nachdem sich eine "Javascript-Community" etabliert und stabilisiert hat, kann niemand mehr über "ein anderes Gut" nachdenken, das aus Kratzern aufgebaut werden muss. Sie tragen einfach dazu bei, es immer besser zu machen.
Wenn Sie eine neue populäre Sprache erstellen möchten, müssen Sie zunächst festlegen, wer diese Sprache verwendet . Die ersten Kunden sind immer schwer zu finden, und Sie müssen Ihre Sprache auf die eine oder andere Weise Javascript überlegen machen. Vielleicht ist "bessere / schnellere Javascript-Engine für iPhone-Handys" auch in einem eingeschränkten Bereich / einer eingeschränkten Community von Programmierern eine gute Wahl.
Darüber hinaus sollte Ihre Sprache von der Community einfach zu verwenden und anzupassen sein, da die Community entscheidet, welche Sprache überleben kann.
quelle
Sie werden mir nicht glauben, aber Flash und (in ein bisschen Java-Applets früher) haben einen großen Beitrag zum Wachstum der Popularität von Javascript und zur Entwicklung der Sprache selbst geleistet.
Als Flash auftauchte, war dies der erste Beweis dafür, dass es sich lohnt, über Webanwendungen nachzudenken.
In gewissem Sinne hat der Wettbewerb mit Plugins durch die ständigen Versuche zu zeigen, was wir ohne Plugins tun können, Javascript zu einer Sprache mit einem breiteren Anwendungsspektrum gemacht und sie daher populär gemacht.
quelle
Ich glaube, die Leute dachten, Javascript hätte etwas mit Java zu tun.
(Wie heute beginnt alles mit einem "i")
Die Marketing- / Werbestrategie spielt eine wichtige Rolle.
quelle
Ich denke wirklich, dass es mit seiner C-ähnlichen Syntax zu tun hat . Laut Wikipedia ist Javascript in '95 erschienen. Zu dieser Zeit war C auf einem Allzeithoch und Java war die aufstrebende Sprache. Ich denke, die Syntax war (für diese Zeit) wirklich ansprechend und die Namensassoziation mit der nächsten großen Sprache, Java , gab ihr einen Vorteil.
Damals war es für C- Programmierer ein Kinderspiel, sich auf eine dynamische Sprache einzustellen.
Tiobe Index
Wenn ich den Erfolg von Javascript wiederherstellen würde, würde ich Probleme untersuchen, die moderne Programmierer plagen, und ihnen eine Lösung mit einer vertrauten Syntax geben.
IMO-Parallelprogrammierung ist das nächste große Problem, mit dem Programmierer konfrontiert sind. Ich denke, dass funktionale Sprachen wirklich großartige Arbeit leisten, um dieses Hindernis zu überwinden. Wenn ich das nächste Javascript erstellen würde, würde ich eine funktionale Sprache mit einer gemeinsamen Plattform erstellen . Darüber hinaus denke ich, dass es flexibel genug sein muss, um eine Skriptsprache zu sein, aber leistungsfähig genug, um eine statisch typisierte Sprache mit einem großartigen Rahmen zu sein.
Obwohl nicht jeder zustimmen kann, denke ich, dass F # unter diesen Bedingungen in Zukunft eine Menge Verdienste haben wird.
quelle
JavaScript wurde aufgrund von AJAX und guten Inspektionstools wie Firebug populär. Natürlich half die Tatsache, dass es auf allen gängigen Browsern funktionierte und nur die Möglichkeit bot, DHTML auszuführen.
Grundsätzlich muss man in der Lage sein, wirklich nützliche Dinge zu tun, die keine andere Sprache kann, um die hässlichste Sprache erfolgreich zu machen. Außerdem müssen Sie Tools bereitstellen, die es Programmierern ermöglichen, das Gefühl zu haben, dass sie steuern, welche Sprache verwendet wird, was bei Javascript vor dem Firebug nicht der Fall war.
quelle
Javascript ist beliebt als Hack, um die Mängel von HTML-Markups zu überwinden, mit denen Webseiten so angezeigt werden, wie sie von Designern gewünscht werden. Ohne Javascript würden alle Webseiten so aussehen - HTTP 1.1 . Kaum eine Verbesserung gegenüber dem Gopher- Protokoll.
quelle