Monday, May 19, 2008

Choosing Erlang IDE

After having some object-oriented language experience, I decided to move forward in learing programming languages. There are many languages today and each of them correspond to some category. Ubiquity of multicore processors dictate us today new rules for scalable programming systems. And one of the interesting trend in programming - functional programming languages. Maybe I was affected by Steve Vinoski blog or some InfoQ articles , but Erlang language was chosen.

After writing on java for two consecutive years I formed the habit of using my lovely IDE (not a secret it's Intellij IDEA). And I started to dig for something similar in Erlang space.
Though i had 4 candidates :
  • Erlide - plugin for eclipse (ver. 0.3.45)
  • Erlybird - plugin for netbeans (ver. 0.16.0)
  • Ultraedit - win32 text editor + with syntax highlighting
  • Emacs - with erlang mode (according to documentation this is a best way of developing erlang apps)
Last variant with emacs occured suddenly during playing with first three candidates. Reason is subconscious resistance to *NIX utils cause win32 legacy.

Main criteria in choosing IDE were : syntax highlighting, smart identation, quick compilation of *. erl files, code templates and integrated console.
Maybe because 0 is major release number or some other reasons but the first two IDE Erlide and Erlybird are very raw.

Erlide - is interesting IDE, but many unpredictable errors occured during usage. But in future, i think this IDE has high chances to become ubiquitous. WRT my criterias of choosing IDE it has syntax highlighting, smart identation(very simple) , compilation is made faster after some project configuration(it's not clear). Mark: 3/5.
This IDE has features which I don't evaluate, because the researh was to find most comfortable IDE for code editing,but not most functional.

Erlybird - visually it's fantastic, it has beautiful syntax highlights and identation , autocompletion is good, but some bugs during exploitation is upset me. Mark: 3,5/5.

Ultraedit -well, it's not IDE actually,it's text editor with many features and languages supported, but sadly Erlang natively isn't supported and only using aforementioned wordfile (plugin for ultraedit) we can add support for some pleasant features. Actually it's only syntax highlighting, not great. But this editor has some templates support. Another disadvantage - shareware. Mark: 1,5/5.

Emacs (erlang mode) - well, when I set a goal to research some IDE for Erlang I couldn't predict that emacs will be one of candidates. It was added for comparison because first 3 IDE was not production-ready. Emacs has all you needed in Erlang development. But it has some learning curve in learning emacs finger-crossing:) but you won't be sorry. Mark: 4/5.

So if you want production-ready Erlang use Emacs with Erlang mode. If you developed earlier for Netbeans or Eclipse platform you can choose Erlybird or Erlide but don't forget this IDE are currently in the beginning phase. If you bought Ultraedit and you like them much use Ultraedit with wordfile.

9 comments:

kv said...

http://bc.tech.coop/blog/070528.html take a look a this Emacs Distel with Erlang

Gleber said...
This comment has been removed by the author.
Gleber said...

I'm definitly sure that if one choose Emacs he won't be disappinted ;)

You should take a look at this thread:
http://www.nabble.com/forum/ViewPost.jtp?post=17218245&framed=y

Pavel Rodionov said...

I know about the Distel.But it lacks for clearence with installation on win32 platforms. Maybe for *NIX platforms it will be the best choise, but I'm on win32 side. So comparison was made by biased win32 programmer :). Maybe when I'll dive in *NIX camp, I'll write full IDE comparison.

Gleber said...

Personally i've never tried this tutorial, but there is one which describes installation of Distel on Windows XP:
http://yanovsky.agenstvo.com/?p=25

Anonymous said...

It uses Cygwin which give access to nix tools on windows... I am mac user ...smile but you do get access to nix and the link posted above describes how to go about setting up Distel....

Dubravko said...

jEdit would be much better choice then UltraEdit. It is free text editor with syntax highlighting for Erlang and extremely useful folding & HyperSearch(grep) features.

Michael said...

The SciTE editor has been working well for me with erlang.

Thanks for the posting your opinion and scoring, saves me some work. I will give emacs a try.

Anonymous said...

Hi,
I'm using erlang-mod on emacs but in emacs does not support all everything you need.

At the moment I try development erlang-plugin for ERIC4 (this IDE cool for python).

@Cuonglb
www.facemain.com