Sonntag, 12. Februar 2012 |
Dynamische Sprachen werden immer populärer. Neben alten bekannten wie PHP und Ruby erblicken neue Sprachen in hoher Frequenz das Licht der Welt. Meist stehen für diese Sprachen jedoch zunächst relativ rudimentäre Editoren zur Verfügung, die weit von den Standards voll integrierter Entwicklungsumgebungen entfernt sind. Das Eclipse Dynamic Language Toolkit (DLTK) soll helfen, komplette IDEs für dynamische Sprachen bereit zu stellen. Wir sprachen mit Project-Lead Andrey Platov über die neusten Entwicklungen im DLTK-Projekt
JAXenter: Hallo Herr Platov. Können Sie das Eclipse DLTK Projekt kurz vorstellen?
Andrey Platov: Gerne. Die Idee des DLTK-Projekts ist, die Entwicklungszeit einer Eclipse-basierten IDE für eine Programmiersprache erheblich zu reduzieren - sagen wir von mehreren Jahren, die normalerweise für die Entwicklung einer voll ausgestatteten, modernen IDE wie z.B. die JDT-(Java Development Tools-)IDE nötig wären, auf wenige Monate oder sogar Wochen. Das Core-Framework von DLTK stellt dafür sprachunabhängige Bausteine bereit, sodass Entwickler sich auf die sprachspezifischen Aufgaben wie Quellcode-Parser, Runtime-Elemente usw. konzentrieren können.
Neben diesen Core-Frameworks bietet das DLTK-Projekt auch exemplarische IDEs für Ruby, TCL, Python und JavaScript, sowie Komponenten für die Integration von Mylyn für task-orientiertes Entwickeln und DSDP TM für das Remote Target Management.
JAXenter: Wo kommt DLTK zum Einsatz?
Andrey Platov: Der typische Use-Case für das Projekt ist die Entwicklung einer IDE für eine bestimmte Sprache, so wie das z.B. vom Eclipse-PDT-(PHP Development Tools-)Projekt realisiert wird, das seit der PDT-Version 2.x auf DLTK basiert.
TCL oder Ruby-Entwickler können natürlich gleich die TCL- bzw. Ruby-IDE in ihrer täglichen Arbeit einsetzen.
JAXenter: Was ist neu in der Galileo-Version von DLTK?
Andrey Platov: Unser Ziel für das Galileo-Release war es, die Stabilität des Dynamic Language Toolkits zu verbessern. DLTK ist zwar noch ein relativ junges Projekt, mit Galileo aber schon zum dritten Mal im Eclipse-Simultaneous-Release-Zyklus vertreten.
Im vergangenen Jahr haben immer mehr Entwickler DLTK als Grundlage für ihre IDEs ausgewählt. Natürlich war die Entscheidung des PDT-Projekteams, auf DLTK umzustellen, sehr wichtig für uns: PDT ist eines der populärsten Projekte der Eclipse Foundation (Stand Juni 2009), was bedeutet, dass DLTK-Code in tausenden von Computern auf der ganzen Welt läuft. Nicht zuletzt haben wir mit dem aktuellen Release 1.0 offiziell den "Status der Reife" erlangt und den Eclipse-Inkubator verlassen.
JAXenter: Wie wird das Projekt nach Galileo weiterentwickelt?
Andrey Platov: Einer der wichtigsten Trend in der Software-Entwicklung ist zurzeit die Mehrsprachigkeit. Entwickler-Teams verlassen sich nicht mehr nur auf eine einzige Programmiersprache für ein Projekt, sondern setzen unterschiedliche Sprachen je nach konkreter Aufgabenstellung ein, z.B. funktionale Programmiersprachen in Kombination mit speziell entwickelten DSLs (domänenspezifischen Sprachen). Mithilfe von DLTK ist es zwar bereits möglich, Entwicklungstools für neue Sprachen sehr schnell umzusetzen. Es fehlt allerdings noch an einer Unterstützung der Interoperabilität zwischen verschiedenen Programmiersprachen, was insbesondere sehr wichtig für Sprachen ist, die auf der JVM (Java Virtual Machine) laufen. Hier gibt es ein großes Bedürfnis an Werkzeugen, die mit diesen unterschiedlichen Sprachen umgehen können. Beispielsweise möchten Entwickler, die mit Jython, JRuby, Mozilla Rhino (JavaScript) oder meiner Lieblingssprache Fan arbeiten, ihre Scripts mit Java Code kombinieren und nahtlos ausführen und debuggen können. Sprachübergreifende IDE-Funktionalitäten wie Code-Vervollständigung und erweiterte Navigationshilfen sind gefragt.
Die Unterstützung von verschiedenen Sprachen innerhalb eines einzigen Eclipse-Projekts, die Interoperabilität zwischen diesen Sprachen und die Integration der Sprachen mit Java sind die Hauptziele für das nächste Release. Daneben gibt es sicherlich noch Raum für Verbesserungen der Performanz und Stabilität sowie für die Implementierung neuer Core-Komponenten für das Bauen noch fortschrittlicherer Entwicklungsumgebungen. Wir würden auch gerne mehr Zeit in die Python- und JavaScript-IDEs investieren, um deren Funktionsumfang auf das selbe Niveau der Ruby- und TCL-IDEs zu bringen.
JAXenter: Vielen Dank für dieses Gespräch!
Andrey Platov ist Gründer und Vize-Präsident von Xored Software und Project-Lead des Eclipse DLTK-Projekts. Xored stellt seit seiner Gründung 2002 Software auf Basis wichtiger Eclipse-Technologien bereit, darunter Eclipse Platform, EMF, GEF, GMF, JDT, Webtools und BIRT. Vor seiner Zeit bei Xored arbeitete Andrey für verschiedene Software-Unternehmen auf dem Gebiet der objekt-orientierten Datenbanken und verteilten Systemen. Seit fünf Jahren ist Eclipse zu einem wichtigen Teil seines Leben geworden.