A Joeish Erlang distribution (long)

Joe Armstrong <>
Tue Jan 28 12:50:57 CET 2003

On Tue, 28 Jan 2003, Francesco Cesarini wrote:

> > What I meant was that new small and/middle sized software projects is
> > IMO advised to avoid gen_servers, supervisors, application controllers,
> > appup, relup, boot scripts, gen_fsm, release_handler and the stuff
> > described in the "OTP Design Principles".
> I totally disagree. It is the above that adds even more to the 
> productive factor of the programmers using Erlang, allowing small to 
> medium size projects to be successful. I might agree to bypassing the 
> above design principles when putting together the evaluation prototype, 
> but absolutely not when building the product itself.

  I totally disagree  - The OTP libraries "jump start"  you into a way
of programming fault tolerant apps. 

  If you haven't  thought long and deeply about how  to program FT apps
then by all means use the  generics (that's what they are there for) -
If  you are  in a  BIG project  use the  generics (that's  so  you can
understand the other peoples code).

Once you get good at this you can start "rolling you own" -
I usually re-invent gen_server for *every different complex program I write*
they are subtly different - often the resultant code is much prettier -
and *much* more inefficient I'm proud to say :-)


> The design principles give you what lacks in basic Erlang, namely a way 
> to design the system, a way to organize and reuse parts of the source 
> code, and a way to reason when putting it together. I have seen people 
> reinvent the wheel so many times when not using OTP correctly, and I 
> will stop here as I could go on for ages...
Dyson re-invented the wheel and it was much better :-)


> The above will eventually deter potential users, as they will not 
> experience the factor 4 - 10 of the productivity increase we who know 
> OTP usually ramble about, and get stuck in trying to solve problems the 
> OTP developers have taken hundreds of hours to think of, test and develop.
> Back to work.. Have a nice day :-)

You too

> Francesco
> --
> http://www.erlang-consulting.com

More information about the erlang-questions mailing list