[erlang-questions] The Beauty of Erlang Syntax

Rob Charlton rob.charlton@REDACTED
Wed Feb 25 09:35:12 CET 2009

Michael Richter wrote:
> Why do you think people stay away from functional programming 
> languages in droves?
I think there is a much simpler answer to this question to do with 
culture in software teams / engineering firms (at least the ones I have 
come into contact with). I've not encountered a working environment 
where at the start of a new project, someone has asked the question:

"What programming language should we use?"

The reason nobody has asked this is that for one of several reasons the 
answer is fixed in advance:

1) The development team is a team of programmers who know X
2) We are writing a system for operating system Y for which the only 
applicable language choice is X
3) We are extending / improving product Z which is written in X and 
we're not about to re-write it
4) The CTO is a fan of language X and has already hired X experts to get 
the job done
5) The engineering manager wants to play it safe, follow the herd, and 
develop the system like "everyone else does", using language X
6) We are doing work for a customer, and the customer says use language X

If someone in the team suggests using language P instead then there is a 
huge practical barrier to accepting that which means it will be 
dismissed almost out of hand (unless P is C or C++ or Java or C# and 
there is a viable route to change).

There is a rock solid business case for picking Erlang in a lot of 
circumstances which the CEO/CTO/CFO/Engineering manager could be 
convinced of I'm sure, but they would have to put aside the 
considerations above which may not be possible. The high availability / 
programming productivity / SMP scalability arguments will absolutely 
grab the attention. I don't believe it makes any difference if the 
language is imperative or functional, Erlang or Logo or Lolcode.

For my own company, we started using Erlang because we believed in the 
ideas in Joe's thesis paper and wanted to give it a try. We can't use it 
for all our work: the Symbian OS development that we do pretty much 
dictates C++ and Lua, Blackberry dictates Java, other embedded phone 
work dictates C. But our server products can be written in whatever we 
like. And we like Erlang :)

Rob Charlton
Savage Minds Ltd

More information about the erlang-questions mailing list