Doppio: Java auf Coffeescript

Doppio begann als Studienarbeit, wurde aber weiterentwickelt und ist heute vollständig genug, um GNU Diff, LZW-Kompression und einen Java-4-Compiler auszuführen. Derzeit interpretiert Doppio Bytecode Schritt für Schritt, die Entwickler arbeiten aber daran, den recht langsamen Interpreter durch einen Compiler zu ersetzen. Damit soll Doppio schneller werden und sich besser optimieren lassen.
Derzeit unterstützt Doppio alle 200 Opcodes, bietet eine exakte Emulation der elementaren Java-Typen einschließlich "64-Bit Long", unterstützt große Teile des Reflection-API, Datei- und Standard-I/O sowie JDK-Bibliotheken wie String, Pattern und Hashmap.
Doppio läuft in den aktuellen Browsern, sofern diese Localstorage und Typed Arrays unterstützen. Getestet wird die Software in Chrome, Firefox und Safari. Zudem kann eine Konsolenversion auch unter Node.js verwendet werden.
Geschrieben wurde Doppio in Coffeescript, das letztendlich in Javascript umgewandelt wird. JVM-Objekte werden dabei auf Javascript-Objekte mit gleichen Feldnamen abgebildet, die ihrerseits in Objekte mit zusätzlichen Metadaten eingebettet sind.
Details zu Doppio finden sich auf der Projekthomepage(öffnet im neuen Fenster) , der Quelltext ist auf Github zu finden(öffnet im neuen Fenster) und steht unter der MIT-Lizenz. Auch eine Demo(öffnet im neuen Fenster) stellen die Entwickler bereit.



