Anzeige
Anzeige
Feature
Artikel merken

Zwischen Java und HTML: Wie JavaScript zur wichtigsten Sprache des Webs wurde

Am 4. Dezember ist JavaScript 25 Jahre alt geworden – Grund genug, einen genaueren Blick auf die Geschichte der Programmiersprache zu werfen.

5 Min. Lesezeit
Anzeige
Anzeige

JavaScript-Code. (Foto: t3n)

Heute steckt die JavaScript hinter knapp 95 Prozent aller Websites, die größten – Youtube, Facebook und Twitter – eingerechnet. Die Anfänge der Programmiersprache waren allerdings eher holprig. In die Entwicklung des ersten Prototyps investierte Brendan Eich, der Entwickler der Spezifikation, gerade einmal zehn Tage. Zudem war die Sprache unter „richtigen“ Programmierern lange verpönt: In Entwicklerkreisen galt JavaScript anfänglich bestenfalls als unfertige Skriptsprache, keinesfalls jedoch als ernstzunehmende Programmiersprache.

Eine Skriptsprache für den Netscape Navigator

Anzeige
Anzeige

Die frühen 90er Jahre waren eine wichtige Zeit für das Internet. 1994 wurde Netscape gegründet – neben Microsoft eine der ersten Firmen, die einen Webbrowser hervorbrachten. Brendan Eich wurde 1995 von Netscape engagiert, um eine Programmiersprache für deren Browser, den Netscape Navigator, zu entwickeln. Der Catch für ihn war, dass er die neue Sprache auf einem Lisp-Dialekt namens Scheme basieren konnte – was unter anderem dazu führte, dass JavaScript über sogenannte Clojures verfügt. Self ist eine weitere Programmiersprache, deren Einfluss sich auch heute noch in JavaScript bemerkbar macht. Die prototypische Vererbung in JavaScript stammt von Self – auch wenn die Umsetzung des Konzepts in JavaScript nicht ganz so elegant ist wie dessen Vorbild.

Die Sprache der Designer

Im selben Jahr fand Java Eingang in die verfügbaren Browser. Die Technologie, sogenannte Java-Applets, wurde eingeführt, um Programme client-seitig im Webbrowser ausführen zu können. Die Technologie gewann schnell an Beliebtheit. Sie gilt als einer der Gründe für den Erfolg und die schnelle Verbreitung von Java. Dieser Beliebtheit ist auch JavaScripts etwas unglückliche Namensgebung geschuldet. Im Mai 1995 hieß die Sprache noch Mocha, wurde kurzzeitig in LiveScript umbenannt und noch im Dezember desselben Jahres im Zuge einer Lizenzvereinbarung zwischen Netscape und Sun schließlich zu JavaScript.

Anzeige
Anzeige

Mit Java Applets gab es bereits einen Weg, Interaktivität in den Browser zu bringen. Dennoch sah Netscape damals die Notwendigkeit einer weiteren Programmiersprache für das Web. Damals kam der Begriff des Webdesigners auf. JavaScript sollte ihnen als eine Art Kleber zwischen Komponenten, also Bildern, Plugins und Java-Applets dienen – eine Sprache, mit der auch Teilzeit-Programmierer und Webdesigner schnell zurechtkommen würden. „Java war für uns damals die ‚Komponentensprache‘, die von hochqualifizierten Programmierern verwendet wurde. JavaScript hingegen galt als Tool der Designer, sie nutzten die Sprache für den Bau von Komponenten und zur Automatisierung von Interaktionen. Das Web bot 1995 noch nicht besonders viele Möglichkeiten zur Programmierung. Es gab Java-Applets. Aber um die zu verwenden, brauchten Entwickler mehr als Grundkenntnisse der doch sehr komplexen Sprache“, sagte Eich 2008 in einem Interview.

Anzeige
Anzeige

Java als Namens- und Syntaxvorbild

Eine der Vorgaben Netscapes war es damals, dass die Syntax der „Klebersprache“ an jene der damaligen Trendsprache Java angelehnt sein sollte, was die vielleicht naheliegendere Wahl einer der damals bereits vorhandenen Skriptsprachen als Syntax-Vorbilder ausschloss. Der Tatsache, dass er seinen Prototypen in Windeseile fertigstellen musste und der anschließend ohne große Überarbeitungen deployt wurde, gibt Eich auch heute noch die Schuld am stellenweise etwas eigensinnigen Design der Programmiersprache.

Abgesehen von der ähnlichen Namensgebung und einer entfernt ähnlichen Syntax haben JavaScript und Java aber kaum etwas gemein. Um Java-Programme im Browser auszuführen, muss der Code erst kompiliert werden. JavaScript hingegen wird während der Laufzeit ausgeführt und war somit per Konzeption sehr viel dynamischer.

Anzeige
Anzeige

Obwohl JavaScript anfangs nicht besonders gut performte und von „richtigen Programmierern“ eher belächelt wurde, war es die UI-Klebersprache der Nicht-Entwickler und Designer, die dazu führte, dass das Web in den 90er Jahren massiven Auftrieb erhielt.

ECMA übernimmt

1997 übergab Netscape die Aufgabe, eine Sprachspezifikation für die rasant wachsende Sprache zu erstellen, an die European Computer Manufacturers Association, kurz ECMA. 1961 mit dem Ziel gegründet, Standards für Hardware, Software und Datenverarbeitungs- und Kommunikationssysteme zu entwickeln, ist der Industrieverband heute vor allem durch die Übernahme der Verantwortung für die unter dem Namen ECMA-262 zusammengefassten ECMAScript-Spezifikationen für die ECMA-Script-Sprachen JavaScript, ActionScript und JScript bekannt.

In den darauf folgenden zwei Jahren, zwischen 1997 und 1999, wurde die ECMA-262 drei Mal überarbeitet. Die vierte Version, ECMAScript 4, hielt sich ganze zehn Jahre, bis sie 2009 aufgegeben und von ECMAScript 5 abgelöst wurde. Der Grund: Uneinigkeiten über die weitere Entwicklung und Stoßrichtung der Spezifikation. Einige der damals umstrittenen Proposals für neue Funktionen wurden interessanterweise in neueren ECMAScript-Spezifikationen wieder aufgegriffen. Das Projekt Harmony, aus dem heraus an die der Entwicklung JavaScripts beteiligte Parteien 2008 beschlossen hatten, die umstrittenen ECMAScript 4-Proposals rückgängig zu machen, fand 2015 mit der Veröffentlichung von ECMAScript 6 seinen Abschluss.

Anzeige
Anzeige

Ajax veränderte alles

In der Zwischenzeit hatte sich die anfangs belächelte Klebersprache endgültig zu einer ernstzunehmenden Programmiersprache gemausert. 2005 kam Ajax auf und veränderte alles. Ajax steht für Asynchronous JavaScript and XML. Die Technologie machte es möglich, einzelne Komponenten einer Web-Anwendung bei Bedarf asynchron zu laden und hat damit client-seitige, dynamische Web-Apps erst möglich gemacht. Sie versetzte JS-Entwickler erstmals in die Lage, ihren Webpages eine UX zu verpassen, die beinahe an die nativer Desktop-Apps heranreichte.

Mitte der Nullerjahre stand die immer noch junge JS-Entwickler-Community vor zahlreichen Herausforderungen. JavaScript-Programme zur Ausführung einfacher Handlungen bestehen oft aus vergleichsweise vielen Zeilen Code. Browser-Kompatibilitätsprobleme taten ihr übriges, um JS-Entwicklern das Leben schwer zu machen. In der Konsequenz entstanden zu dieser Zeit die ersten großen JavaScript-Frameworks und -Bibliotheken. Das derzeit wohl einflussreichste: jQuery.

CommonJS ebnet den Weg für Node.js

2009 sollte das CommonJS-Projekt die Entwicklung von JavaScript außerhalb des Browsers vorantreiben, indem es erstmals eine Möglichkeit bot, Code und Funktionalität zu Modulen zu verpacken, die außerhalb des Browsers ausgeführt werden können. CommonJS stellte das Fundament für die Entwicklung von Node.js und JavaScript eroberte die Backend-Programmierung.

Anzeige
Anzeige

Und heute?

Heute ist JavaScript in mehr GitHub-Repositories zu finden als jede andere Programmiersprache – Tendenz steigend. Eine Vielzahl an JavaScript-Frameworks und -Bibliotheken tut ihr Übriges, um diese Entwicklung zu befeuern. Ember, React, Vue oder Angular erlauben es auch kleinen Entwicklerteams, komplexe Web-Anwendungen zu schreiben, die ohne sie oft um ein Vielfaches aufwendiger wären. Auch bei der Entwicklung nativer mobiler Apps gewinnt JavaScript an Beliebtheit, weil es das einfache Teilen von Code zwischen beiden Welten erlaubt.

Die Vielfalt an Frameworks und Libraries mit jeweils ihrer eigenen Syntax und Logik hat gegen Ende der 10er Jahre zu einer Art Gegenbewegung geführt, hin zu einer stärker auf die Ursprünge JavaScripts besonnenen Verwendung der Sprache. Web-Components und ES-Modules sind nur zwei der Ansätze, die die Zukunft JavaScripts weiter definieren könnten. Auch wenn sich JavaScript mit dem Aufkommen moderner Browser-Technologien – Web Assembly anyone? – seinen Anteil am Web zukünftig wohl verstärkt mit anderen Sprachen wie Rust, C oder C++ teilen wird, bleibt die Programmiersprache auch 2021 und darüber hinaus einer der heißesten Tipps nicht nur für angehende Entwickler.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige