Ur/Web: Neue Web-Programmiersprache des MIT

Die funktionale Programmiersprache Ur/Web ist mit dem hehren Ziel angetreten, die Vorzüge von HTML, CSS, XML, JavaScript und SQL in einer Sprache zu bündeln. Ihr Spracherfinder will es dabei nicht mit einem Forschungsprojekt belassen sein.

 –  257 Kommentare
Neue Web-Programmiersprache des MIT

Ein Wissenschaftler des Massachusetts Institute of Technology (MIT) hat unter dem Namen Ur/Web eine domänenspezifische funktionale Programmiersprache für die Entwicklung von Webanwendungen vorgestellt. Ur/Web soll die Programmierung vereinfachen sowie für ein besseres und sicheres Verhalten der ihr zugrunde liegenden Websites sorgen. Die Sprache bündelt die Eigenschaften populärer Webtechniken, sodass sich Entwickler nicht jeweils mit diesen separat beschäftigen müssen.

So finden sich in Ur/Web diverse Möglichkeiten von HTML und CSS zum Formatieren und Designen von Webseiten. Außerdem berücksichtigt die Sprache offenbar die darauf aufbauenden fortgeschrittenen Fähigkeiten der Auszeichnungsprache XML und der Skriptsprache JavaScript, und selbst die Datenbanksprache SQL will Spracherfinder Adam Chlipala berücksichtigt sehen. Da der Ur/Web-Code kompiliert werde, sei er deutlich effizienter als derjenige anderer Webentwicklungssprachen, so Chlipala.

Der Ur/Web-Compiler erzeuge effizienten Objektcode, der keine Garbage Collection nutze. Laut Chlipala sind die kompilierten Programme sogar oft effizienter als das, was die meisten Programmierer mit C zustande brächten. Zum Beispiel verbrauche der Standalone-Webserver der Demo-Anwendung weniger RAM als die Bash-Shell. Der Compiler erzeugt darüber hinaus JavaScript des clientseitigen Codes, wodurch diese Teile der Anwendung nicht in einer anderen Sprache geschrieben werden müssen.

Ur/Web ist wie wie C und Java stark typisiert. Chlipala beschreibt sein Projekt als sich von ML und Haskell ableitende Programmiersprache, die aufgrund ihres funktionalen Programmiermodells bei der Berechnung effizienter als gängige Sprachen für die Webentwicklung sein könne. Sie sei aber für Programmierer, die mit objektorientierten oder prozeduralen Programmierstilen vertraut seien, schwieriger zu erlernen. In der Sprache basiert alles auf Transaktionen, bei denen eine einzelne Client-Anfrage durch eine scheinbare ununterbrochene Ausführung einer einzelnen Funktion angegangen wird. Die quelloffene Sprachimplementierung bringt außerdem Mittel mit, mit denen sich sehr viele Anfragen parallel bearbeiten lassen sollen.

Laut dem Forscher ist Ur/Web nicht nur ein Forschungsprojekt, die Sprache könne bereits eine wachsende Community aufweisen, und selbst in ersten kommerziellen Projekten sei sie im Gespräch. Ur/Web ist nicht die einzige Programmiersprache, die in jüngster Zeit aus dem MIT hervorgegangen sind. Bekannt ist zum Beispiel Scratch, eine erziehungsorientierte visuelle Programmiersprache für Heranwachsende, und vielversprechend mag auch die Sprache Sketch sein, mit der sich Codebereiche eines Programms automatisch vervollständigen lassen. (ane)