Insight on OTP vs plain Erlang
Fri Jul 3 10:23:19 CEST 2009
Quick insight: use OTP instead of plain Erlang whenever possible.
I had a task before me where I had to experiment with a design of a
Prototyping is easy with Erlang and since I was looking for a quick way of
getting some feedback, so I thought that using plain Erlang without OTP
might be the fastest way to get the task done.
Boy, was I wrong...
1. You have to write a lot of boilerplate code that the OTP behaviours
just does for you for free.
2. Navigating your code is more difficult since everything is hidden
inside a big loop function. This is an issue with IDEs that gives you an
outline of the program - just painful.
3. Going to production quality, i.e., real OTP components is a tedious
task... basically a waste of time.
The exercise in using plain Erlang is good for tuning ones skills in doing
small sniplets of code that are too laborious to put into the OTP framework,
but apart from that I would not reccomend it.
OTP is flexible enough to be used for prototyping and it lends itself
extremely well to an iterative development process.
So the bottom line is that OTP has a learning curve, but once you are past
that you are cruising at a speed no one else can achieve.
I have just finished a function point analysis of a project done with OTP at
work and it showed a 7x improvement over doing the same project using C++
(comparing to C: 11x) so I have learned my lesson now!
More information about the erlang-questions