InfoQ

News

Eclipse DLTK 0.9 Supports Tcl, Ruby and More

Posted by Geoffrey Wiseman on Aug 15, 2007 06:45 AM

Community
Java,
Ruby
Topics
Artifacts & Tools
Tags
Eclipse ,
IDEs

In the Eclipse Europa simultaneous release, in addition to Eclipse 3.3, a number of other Eclipse projects were released, including Eclipse DLTK 0.9. DLTK, or Dynamic Language Tool Kit is a plugin designed to add support for dynamic languages within Eclipse.

Of particular interest is the Ruby support, as the popularity of Ruby has caused many Java IDEs to add Ruby support. Daniel Spiewak argues:

[M]aybe the best area I could envision improvement would be the DLTK Ruby project. DLTK Ruby is a phenomenally polished and stable Ruby IDE, but it lacks the feature richness of RDT (a subproject of Aptana).

Daniel also provides a good overview of the strengths and weaknesses of RDT when compared to DLTK:

RDT is a far more full-featured Ruby IDE with a ton of exciting and time-saving options. Once Chris gets all the bugs worked out of it, RDT will be a force to be reckoned with in the Ruby development world. DLTK seems to have taken a more conservative approach to its development (probably enforced by the imminent stable Europa release). DLTK's editor is polished, stable and very productive (you can't imagine how useful it is to have auto-insert of "end" statements). I guess the question is, will RDT spit-shine itself and find its stable feet first, or will DLTK overtake it in features, becoming the industry's de facto Ruby IDE?

Rails Support

DLTK does not contain tools specific to the Ruby on Rails framework such as support for server-launching, generators, .rhtml, etc. Some see these as 'missing features', but according to Andrey Platov, Project Lead for the DLTK, it's deliberate:

Probably I would upset a lot of Ruby developers but we['re] never going to support Ruby on Rails framework in the DLTK project. My strong vision [is] that such support shall be a subject of another project on top of Eclipse Webtools and DLTK Ruby (like Java [Enterprise Edition] Standard Tools subproject)

Extension

The dynamic language toolkit is designed with extension in mind: Andrey Platov indicates that the DLTK project is trying to create a language-independent layer that can be used by all dynamic language plugins.

In addition to the Ruby and Tcl support, Javascript and Python are already in experimental stages. And in development, there are projects to support Perl and Lua. CodeGear is also working on a Ruby IDE that extends the dynamic language tool kit, and has two DLTK committers on their team team.

Future Plans

Eclipse DLTK 1.0 is targeted for the Ganymede simultaneous release, and will focus on: "refactoring, code analysis, and advanced source code editing features like Quick Fixes" as well as "generic xUnit framework and concrete unit testing support for at least TCL, Ruby and Python". Andrey also speculates about supporting Groovy and JRuby in the next release.

You can read more about Eclipse, Ruby and the DLTK here on InfoQ.

RadRails? by Geoffrey Wiseman Posted Aug 15, 2007 11:21 AM
Updated by Geoffrey Wiseman Posted Aug 16, 2007 7:49 AM
  1. Back to top

    RadRails?

    Aug 15, 2007 11:21 AM by Geoffrey Wiseman

    One of the things we discovered early on in trying both of these was that we could have DLTK and Aptana's RadRails installed at the same time. This gives you the option of using the (IMO) better DLTK editor / outline etc. while still enjoying some of the RadRails tooling like the Test::Unit support. I can't speculate on what a CodeGear IDE might be like if one existed, since, if I had tried it, I would have had to agree to non-disclosure, just like anyone else who might have tried it, if it existed. :)

  2. Back to top

    Updated

    Aug 16, 2007 7:49 AM by Geoffrey Wiseman

    Fixed a typo; nothing major. Thanks, Sean Miller.

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.