InfoQ

News

Erlang IDE on it's way to 1.0

Posted by Craig Wickesser on Jan 09, 2008 09:34 PM

Community
Java
Topics
Programming ,
Open Source ,
Debugging
Tags
Erlang ,
IDEs ,
Eclipse
Erlang is a concurrent programming language and runtime system that was originally developed in 1987 by Ericsson for their own proprietary use.  In 1998 Ericsson released Erlang to the open source community under a Modified MPL (Mozilla Public License).

Although recently there has been quite a bit of talk about Erlang, for the most part there hasn't been any great tool support, requiring developers to use text editors such as emacs.  However, Vlad Dumitrescu has started a project to really enhance the development of Erlang applications.  Erlide is the name of the project and it is an IDE based on the Eclipse platform

InfoQ had the chance to interview Vlad to find out the history of Erlide, it's current status and what the plans are for it in the future.

What gave you the idea to create an IDE for Erlang?

There already was a  proof-of-concept implementation of an Eclipse plugin (written by Eric Merritt and Marc van Woerkom), which at that time had been dormant for a while.
Since an Eclipse plugin had been started, Vlad's choice to use Eclipse was an obvious one.  Vlad also mentioned that his choice to use Eclipse was a result of several other factors,
  • I had started using Eclipse at work, and it seemed a good way to learn more by doing something fun.
  • At that time (2002-2003), Netbeans wasn't even close to Eclipse in terms of support for developing one's own language support.
How many developers are working on Erlide?
We are lucky to receive support from Ericsson, there are two developers (Jakob Cederlund and Tomas Daarstad) working more or less
full time with Erlide. And I try to keep up in the evenings.
Is Erlide a viable alternative to emacs?
Well, it depends what one understands by "viable". It works, it has features comparable to the default emacs' mode, but there is still a lot of work to  do. It is still alpha state, meaning that some "stupid" bugs are still there that affect stability, but those are being fixed at a steady pace.
What are the upcoming plans for the IDE (features, enhancements, etc)?
The main focus is on stability and integration with existing Erlang tools (mainly the debugger, but also tracing, profiler, dialyzer (static code analyzer), etc). We will have to add support for the new Erlang R12 release, which introduced a handful of cool improvements.

In the longer term, I would like to add custom extension points, so that additional support (for example for web development (yaws,
erlyweb)) can be added by the community without having to deal with the whole Erlide. One of our goals is to have a very thin Java wrapper
and have everything of importance implemented in Erlang, lowering even further the entry barrier for Erlang developers to be able to
customize the environment without having to learn Java.
What is the timeline for a 1.0 release?
I'm one of those people that prefer having a very good quality 0.9 than a less than good 1.0, but given the above mentioned support we
aim for 1.0 by the end of Q2 2008. Until then, there will be releases at least once every month.
As Vlad mentioned, Erlide is very young with its current version being 0.3.36.  The Erlide development team does have a hefty workload ahead of them for a 1.0 release of the IDE.

For additional information about Erland and Erlide visit the following sites:

No comments

Watch Thread Reply

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.