I am learning Erlang for a little to a year now, not constantly but every now and then and a little more in the last 2-3 months. As I dug deeper and deeper in the language I started looking for the typical stack for Erlang programs. That means tools to develop and run a Erlang/OTP application and here is a (not yet complete) list of what I have found.

Erlang is a language that has been and is used for various types of applications. Unfortunately many developers don’t feel comfortable with the functional programming paradigm that Erlang is built upon. To help you get started on your way as a to-be Erlang developer here are some tools that may help you:

I’ll write separate articles for each of the tools in the future, this post will just be a pointing in the right direction for lost Erlang developers ;-) Please, if you know any other helpful tools, don’t hesitate to post it in the comments and I will add them to the list. I know that this is just a very small overview, but these are all tools that helped me get a better Erlang developer, either by using them and/or by reading their code.

Happy Erlang’ing ;-)

Tagged with:
 

12 Responses to The Erlang stack

  1. Great article. Thanks.
    You might want to add some debugging tools too (like appmon, pman or debugger).

  2. Ian Calvert says:

    I’ve found the following to be extremely useful:

    Cowboy : Fast, easy to use webserver (https://github.com/extend/cowboy)

    Sinan : Similar to rebar, but I found rebar somewhat difficult to get running every time I started a project. Lots of things to be moved and changed. I use sinan to package all the stuff I do these days. (https://github.com/erlware/sinan)

    Event Tracer : One of the most incredible tools I’ve found in erlang. Live sequence diagrams of your running application, with variable detail levels. This is built in and pretty easy to use:
    http://www.erlang.org/documentation/doc-5.7.4/lib/et-1.3.3/doc/html/et_examples.html
    http://souja.net/2009/04/making-sense-of-erlangs-event-tracer
    http://jlouisramblings.blogspot.co.uk/2011/10/using-event-tracer-tool-set-in-erlang.html

  3. Robert Virding says:

    I prefer common test to eunit as it is much better for testing whole systems. And I would stress the ability to build fault-tolerant systems which was one of our primary goals with Erlang.

    Otherwise I like it.

  4. [...] Hacker News http://thewebdev.de/the-erlang-stack/ This entry was posted in Uncategorized by admin. Bookmark the [...]

  5. Anthony Eden says:

    I highly recommend Learn Yourself Some Erlang for Great Good: http://learnyousomeerlang.com/ – it is an excellent way to get comfortable with Erlang, how it works and how it is intended to be used.

  6. Culley Smith says:

    http://learnyousomeerlang.com/

    Been following this and it’s a good (and fun) way to learn Erlang.

  7. Thomas Järvstrand says:

    I’ll take this opportunity to make a shameless plug for my Erlang Development Tool Suite (EDTS). It’s a really nice package that makes your Erlang life a lot easier if you’re using Emacs (of course you are!).

    https://github.com/tjarvstrand/edts

  8. Freddy says:

    When I tried to use Erlang for web development I had to stop because its support for string handling was so horrible. Is there a good library that will let me work with UTF-8 strings?

  9. Peter Bruinsma says:

    I see the folks at 99s used https://github.com/dluna/chaos_monkey for stability testing of Ranch. Interesting project!

    “The purpose of The Chaos Monkey is to find out if your system is
    stable or not. What will your system do when things start to go wrong
    and your processes die randomly? The Chaos Monkey will show you.
    With a stick.”

  10. @SeanTAllen says:

    “The #Erlang stack” => http://t.co/Q7ZkoLsiC2 <= a handy list of stuff to get you going with erlang

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>