Eclipse Dynamic Language Toolkit

Andrey Platov

Dynamic languages are getting more and more popular. New dynamic languages are emerging with a frequency never seen before. The aim of the Eclipse Dynamic Language Toolkit (DLTK) is to facilitate development of high standard IDEs for these languages. We talked to Andrey Platov, Project Lead for the Eclipse DLTK project, about the recent developments in the project.

JAXenter: Hello Mr. Platov! Can you describe the Eclipse DLTK Project in a few words?

Andrey Platov: Yes, the idea behind the DLTK project is to reduce development time of an Eclipse-based IDE for a programming language in times, say from years required to develop fully featured modern JDT-alike (Java Development Tooling) IDE to months, or even weeks. DLTK’s Core Frameworks provide language-independent building blocks for such IDEs. So IDE developers are focused only on language-aware tasks like source code parsers, runtimes, etc.

Besides, Core Frameworks DLTK project provides exemplary IDEs for Ruby, TCL, Python, and JavaScript programming languages, as well as Mylyn and DSDP TM integration components for task-oriented and remote development respectively. 

 JAXenter: Can you give a typical use case for the project?

Andrey Platov: Typical use case for DLTK’s Core Framework is to build an IDE for particular languages. For example, Eclipse PDT (PHP Development Tools) project was done with PDT 2.x versions, which is built on top of DLTK.

End user (TCL or Ruby) developers may use TCL/Ruby IDEs in their everyday work.

 JAXenter: What´s new in the Galileo Version of DLTK?

Andrey Platov: The goal for Galileo version was to improve stability. DLTK is a relatively young project, but this is the 3rd simultaneous Eclipse release for us. In the past year more and more people have come to rely on DLTK as a foundation for their IDEs. PDT’s decision to switch to DLTK is obviously very important for us: PDT is the most popular project within Eclipse Foundation (as in June 2009). This means DLTK code is working on thousands of desktops around the globe. So with this release DLTK has reached a mature state; we released version 1.0 and graduated from the Eclipse incubator.

 JAXenter: Where do you see DLTK in one year? How will the project evolve after Galileo?

Andrey Platov: Currently there is a multi-language trend in software engineering. Teams no longer rely on a single programming language while working on the project, but choose proper language for concrete tasks, including using functional programming languages or developing DSLs (Domain Specific Languages) as a part of the project. With the help of DLTK, engineers already can build development tools for new languages much faster. However, there is lack of languages interoperability support in the DLTK, which is very important for JVM based languages. There is high demand for mixed languages tooling in this area. For  example developers working with Jython, JRuby, Mozilla Rhino (JavaScript), or my favorite Fan programming language ( may want to debug their scripts and Java code seamlessly, during execution flow for script code into Java code and back. They want IDE features supporting code completion and navigation from scripts into Java, and so on. So support of multiple languages within an Eclipse project, languages interoperability and Java integration is the main goal for the next release. Besides this there is a room for performance and stability improvements, and implementing new core components to build more advanced development environments. Also we’d like to commit more time to Python and JavaScript IDEs to make their features at par with Ruby and TCL IDEs.

JAXenter: Thank you very much for this conversation!

Andrey Platov
Andrey Platov is founder and Vice President at Xored Software, Inc. Being founded in 2002 (it was Eclipse 2.0 time) Xored was completely focused on developing for Eclipse Platform and on top of various Eclipse technologies. Andrey is a project lead on the Eclipse DLTK Project, and for the past five years Eclipse became important part of his life. While working at Xored we delivered software based on most of Eclipse Technologies including Platform, EMF, GEF, GMF, JDT, Webtools, and BIRT. Prior to Xored Software Andrey worked for different software development companies, in fields of object oriented databases and distributed systems.

Inline Feedbacks
View all comments