Ich komme aus der wissenschaftlichen Biologie, wo wir auch viel Python verwenden.
Nachdem ich mit der Webentwicklung begonnen habe, habe ich mich immer wieder gefragt, warum JavaScript die primäre clientseitige Sprache im Web ist.
Ist die Vorherrschaft von JavaScript ein historischer Unfall oder etwas anderes? Ich bin auch gespannt, ob es Hürden gibt, Python in clientseitige Skripte zu integrieren.
javascript
python
history
client-side
rd108
quelle
quelle
vote to close
wenn Sie der Meinung sind, dass dies nicht zum Thema gehört. Wenn andere genauso denken, folgen entweder sie oder ein Moderator Ihrem Beispiel.Antworten:
JavaScript war die erste Skriptsprache, die in einem beliebten Webbrowser verfügbar war, und wurde daher nahezu universell implementiert. Als einzige Programmiersprache, die in allen gängigen Browsern verfügbar ist, blieb keine andere Wahl, als die vorherrschende clientseitige Programmiersprache zu sein.
Internet Explorer hat JavaScript so implementiert, dass steckbare Skript-Engines möglich sind (es wurde mit VBScript und JScript geliefert). Wenn Sie es vorziehen (wie ich), Ihren Code in PerlScript oder PythonScript zu schreiben, können Sie dies, aber alle Ihre Clients mussten diese Skriptsprache installiert haben und IE verwenden. Sie könnten dies für interne Projekte tun, aber es gibt keine Möglichkeit, dass dies jemals im Internet funktionieren würde.
quelle
JavaScript wurde ursprünglich von Brendan Eich erstellt. Es wurde erstmals mit der Beta-Version von Netscape Navigator 2.0 im September 1995 als LiveScript ausgeliefert, aber in einer gemeinsamen Ankündigung mit Sun Microsystems im Dezember 1995 in JavaScript umbenannt. Erst später (1996) wurde JavaScript bei Ecma International eingereicht und wurde schließlich das standardisierte ECMAScript.
Die derzeitige Marktbeherrschung ist weitgehend auf die historische Trägheit zurückzuführen.
Quelle: http://en.wikipedia.org/wiki/JavaScript#History
quelle
Ich bin mir nicht sicher, aber es ist eine leichte, clientseitige Skriptsprache. Ich denke, seine Ursprünge lagen in frühen Netscape-Browsern (obwohl ich mich irren könnte). Tatsächlich wurde sein Name vor der Veröffentlichung geändert, um das Wort "Java" aufzunehmen, obwohl es nichts mit Java zu tun hatte. Es war eine schnelle Taktik, um zu dieser Zeit an Popularität zu gewinnen.
quelle
Ich bin sicher, es hat viel mit der Geschichte zu tun.
Ich bin mir aber auch sicher, dass Websites nicht in der Lage sein sollen, Programmiersprachen wie Python in meinem Browser mit allen Funktionen auszuführen. Die Auswirkungen auf die Sicherheit würden mich von solchen Websites abhalten (oder ich müsste sehr sicher sein, dass die Browser-Sandbox luftdicht ist).
quelle
"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.
quelle