*JS und heap.coffee: Javascript à la C
Die beiden Mozilla-Forscher Michael Bebenita und Shu-yu Guo haben zwei Sprachen entwickelt, die ein C-artiges Typensystem mit manueller Speicherverwaltung für Javascript umsetzen. So sollen speichereffiziente Javascript-Programme entstehen, die ohne Pause zur Garbage Collection laufen.

"Wie würde Javascript aussehen, wenn man es um Low-Level-Funktionen erweitert?" Dieser Frage gingen Michael Bebenita und Shu-yu Guo nach, die für Mozilla forschen. Dabei entstanden zwei Sprachen: *JS auf Basis von Javascript und heap.coffee auf Basis von Coffeescript.
Beide Sprachen unterstützen ein Typensystem nach dem Vorbild von C und werden in Javascript umgewandelt. Dadurch sollen sich ohne großen Aufwand speichereffiziente Javascript-Programme schreiben lassen, die bei der Garbage Collection zu keinen Pausen führen. Da Javacript ohne Typen auskommt und dem Entwickler die Speicherverwaltung abnimmt, muss der Speicher regelmäßig aufgeräumt werden, was als Garbage Collection bezeichnet wird. Dabei wird die Verarbeitung von Javascript kurz angehalten, was je nach Implementierung zu kleineren oder größeren Pausen führen kann, die sich bei manchen Javascript-Programmen in Form von Aussetzern bemerkbar machen.
Noch handelt es sich bei beiden Projekten um frühe Prototypen, denn es geht vor allem darum, mit statischen Low-Level-Typen in High-Level-Sprachen mit dynamischen Typen zu experimentieren.
Bebenita und Guo haben ihre Prototypen von *JS und heap.coffee bei Github veröffentlicht und dokumentiert. Sie zeigen die Deklaration von Variablen, wie sich Berechnungen mit den Typen umsetzen lassen, wie Strukturen und Zeiger umgesetzt und Funktionen typisiert werden. Die beiden erläutern auch ihre Ideen zum Umgang mit Objekten, die in ihrem Ansatz deutlich effizienter sind als klassische Javascript-Objekte.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Mir scheint das ist keine neue Sprache. *JS ist nur ein Dialekt der Sprache JavaScript...
Nicht zwingend. Ich hatte letztens wieder das Erlebnis gehabt, dass auf einer Seite einer...