OTP or not to OTP

Shawn Pearce spearce@REDACTED
Mon Mar 3 14:22:39 CET 2003

Sean Hinde <Sean.Hinde@REDACTED> wrote:
> 1. They think their own creations suck so they don't use them

I thinks this is it, and it would put the OTP guys into the same
group of people as those that write control software for airliners
(they always fly on a plane they didn't write code for, or take a
train).  Just a "flaw" in a programmer's character.  I know I try
to not to use what I write.  :)

> 2. They have transcended the need for any such thing and can re-create the
> original genius at will.

Or maybe this is it.  :)  They know the system so well, OTP gets in the
way.  Granted, its a pain writing all those callbacks which are just
useless (like if I don't use cast in my gen_server), but should exist
to be technically correct and prevent crashes from bad clients.  Not
to mention I find my simple non-OTP gen_tcp server I wrote on Saturday
to be syntatically cleaner than the OTP gen_server I just wrote last

> I'm sure there are more explanations, but I know which one I believe
> after 4 years of successfully using OTP.

3. They tend not to write the massive applications those who use and
love OTP write.  Thus, they don't run into the 200 developers all
writing different server problems that the AXD301 project must have had.
No problem, no need for the "bloat" of OTP.  :)  Its fun being a tool
builder, so long as your projects stays smaller than the projects the
tool was built to help, it tends to pay to stay away from the tool as
the cost of the tool exceeds the cost of the project.  I've done this
to myself too many times to count, there is definately a balance point.

It would be interesting to see Joe's examples written using strict OTP
rules, and see if they are any clearer or use any less lines of code
then what he wrote without OTP.

My guess is, OTP makes it harder to understand for the person who is
new to Erlang, but reduces the line count (and bug count) by a lot.

I've been kicking on and off Erlang for about 3 years now, as most
of you have probably noticed.  :)  Prior to now, I have only toyed
with OTP, as I had enough of a learning curve just getting through
the langauge and the simple stdlib's like ets, lists, etc.  With
no Erlang-master nearby (save this mailing list), it was definately
a very uphill battle.  (And I usually learn stuff fast, oh wait, don't
we all?)  I'm just now getting into OTP, and just now learned how
to use application, supervisor, etc.  And understand why I should.  :)
My line counts are WAY smaller, and my bug count is a dang near zero
on even new, never compiled code.  :)


  You will contract a rare disease.

More information about the erlang-questions mailing list