[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