Building An Erlang Application
Yesterday, September 27th, 2008, the Northern Virginia Languages (NoVALang) Group held our big erlang:out event in which we spent a standard work day (9:00am - 5:30pm) working in small groups on Erlang projects. We learned an awful lot about working with Erlang including some of the pitfalls and problems that will infest your first couple projects. I wanted to write them down since Erlang seems to have a news article on hacker news every day.
When you think about starting down the path of developing an Erlang project, it can admittedly be a bit daunting. Even if you have read cover to cover the entire Pragmatic Programmers book, you are left thinking how do I start more than how to push forward. There is a lot of room in the Erlang world for utilities and tools that can help on this step, here are a couple ideas that we ran into as possible projects that would help out tremendously:
- A project structure generator that would create the appropriate and necessary OTP application directory structure and a standard makefile/emakefile/rakefile for the developer.
- A lot of tutorials for what seem to be great projects of Faxien, the RubyGems of Erlang, and Sinan, and better (but complex and convoluted) build system for OTP. I personally spent a lot of time trying to unravel the value versus process of the systems, which should have been used to build my app. Oh look a shiny object!
- A better project/concept modeling method for Erlang, the box and stick format does not work well with concurrent, message based process. I spent a lot of time trying to remember the process and not the components. I do love the marker on paper modeling that many existing Erlang projects use, but aside for being "cute" they do not convey enough information to be meaningful.