© saicle/Shutterstock.com
Aus Gerüchten wurde Dart - eine Sprache, die JavaScript ersetzen soll

Mitten ins Schwarze?


Seit dieser vollmundigen Ankündigung und der Veröffentlichung des Sourcecodes steht die Blogosphäre nicht mehr still: Das soll Dart sein? Es nehme einem die Flexibilität von JavaScript, sagen die einen. Auch nicht besser, irgendwie, sagen die anderen. Ein Streitfall also. Ganz klar.

Vor gut zehn Jahren gehörte zumindest eines zu den grundlegenden Anforderungen einer jeden Webanwendung: Wenn schon JavaScript verwendet wird, dann muss die Anwendung zur Not aber auch ohne laufen. Was ist, wenn der Besucher JavaScript ausgeschaltet hat? Was ist, wenn irgendein kurioser Browser dieses JavaScript doch ganz anders interpretiert als gedacht? Zudem – Geschäftslogik im Browser? Das ist doch manipulierbar! Und überhaupt … dünn müssen die Clients sein. Das beschränkte JavaScript mehr oder weniger auf nette Hover-Effekte.

JavaScript – verteufelt, gehasst, verehrt

JavaScript ist einfach anders als PHP – und zwar richtig anders. PHP erinnert mit seiner Syntax eher an C, später mit seinen Interfaces auch etwas an Java. Jeder PHP-Entwickler, der objektorientiert arbeitet, weiß: Um ein Objekt zu erstellen, muss man eine Klasse schrei­ben. Objektorientierung gilt auch in der PHP-Welt mittlerweile als Standard. Natürlich gibt es zahlreiche Ausnahmen – Funktionen sind eben gleich gemacht, und überhaupt, das grundlegende API ist auch recht prozedural aufgebaut. Egal, der PHP-Entwickler hat Klassen, und daraus macht er Objekte. So ist das.

Allerdings wurden die Stimmen laut, die auch JavaScript als objektorientierte Sprache bezeichneten. Mehr noch, sie verzichten auf Klassen und arbeiten nur mit Objekten. Prototypbasierte Entwicklung ist angesagt, Klassen sind zu unflexibel. Zur Laufzeit Methoden zu Objekten hinzu zu fügen, ist einfach viel besser. Gibt es denn mehr Objektorientierung als das? Spätestens wenn man von Funktionsreferenzen spricht und davon, dass eine Funktion in JavaScript auch schon ein Objekt ist, hört der Spaß für viele auf.

Aber es gibt noch viel mehr, was der gemeine, klassenschreibende Entwickler im Allgemeinen als Teufelszeug abtut: zum Beispiel das seltsame Prototype-Schlüsselwort. Und haben Sie schon mal versucht herauszufinden, wie man mit JavaScript private Member-Variablen erstellt? JavaScript kann erlernt werden. Aber seine Ecken, Kanten und Vorzüge erfordern es, dass man sich wirklich damit beschäftigt. Zumindest wer Frontends schreiben will, die den heutigen Maßstäben gerecht werden, benötigt ein gewisses Pensum an Zeit. Es ist nicht nur eine andere Sprache, es ist auch eine eigene Philosophie. Um die Sprache JavaScript herum hat sich eine hyperagile Community gebildet, für die Typisierung ein Schimpfwort ist und die als Lieblingsserver Node.JS sehen. Oder gleich ganz auf „Server“ verzichten und eine CouchDB mit JavaScript abfragen. Immerhin sind Server nicht so was von Achtziger? Die Cloud macht’s eben möglich.

Wir stellen fest. Es ist nicht leicht, als PHP-Entwickler in die Welt des JavaScriptings vorzudringen. Gerade hat man sich noch an PHP 5 und seine Interfaces gewöhnt und dann gibt’s das alles einfach nicht in der JavaScript-Welt? Fühlt sich an wie PHP 3, ist aber topmodern.

Die Idee des Herrn Google

Der nette Onkel Google hatte nun die Idee, das Skripten im Browser leichter zu machen. Es gibt zwar mittlerweile viele JavaScriptler, aber der Einstieg ist einfach zu schwer. Und das, obwohl jeder sagt, JavaScript wäre einfach. Zumindest jeder, der es kann. Also hat er sich gedacht: Warum nicht das Beste aus verschiedenen Welten zusammenfügen? Gerade die Java-Welt hat es ihm dabei besonders angetan, wenn wir ehrlich sind. Wenn man aber genau hinsieht, könnte man auch sagen: Wenn Java nicht so auf seine Typen bestehen würde und PHP objektorientierter wäre, dann würde man sich in der Mitte treffen. Eine Syntax wie die von Dart wä...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang