Resistance to Erlang
Joe Armstrong (AL/EAB)
joe.armstrong@REDACTED
Tue Apr 12 09:31:49 CEST 2005
How do you overcome resistance to Erlang?
To start with you can never "sell" a programming language.
You have to "sell" applications.
People didn't learn HTML/javascript/CSS/PHP/MySQL out of any intrinsic love
of the language - *nobody* in their right mind would want to learn HTML etc.
No - they want to make web pages.
People didn't learn SQL because it fun - no, they want to make billing systems
or whatever turns them on (Prolog's query language is zonks better :-)
Programming language have unique advantages if and only if
they make the programming of a particular class of problem easy, and if
somebody wants that class of program.
Thus certain languages are totally dominant in their domains
Examples:
Postscript for page description
HTML for web page pages
Partial domination is when one particular language excels for a particular class of problem
Examples:
C Operating systems
SQL Data base queue language
Visual basic Windows GUIs
Java Applets
After this is the "any language will do category" ... perl/lua/C++/...
To make Erlang popular I think we must target the "partial domination" category for
distributed fault-tolerant applications - this is what is was designed for, this is what it is
good at.
Amazingly applications like Wings etc are gaining popularity - wings is a graphics application
that makes very little use of Erlang's strengths.
Erlang is ideal for writing distributed applications - this is where it shines - but very few
applications are distributed (most networked apps are simple non-fault tolerant client-server)
The real area were we should be writing distributed apps is probably to be found in the cluster
peer-2-peer worlds.
To make any inroads you must target your arguments to the audiences
(ie arguments are not universal, use the correct argument
for the correct person).
If it's a business person the argument is easy:
The have to prove the assertion:
"You will make more money by using Erlang than using X"
If you cannot argue this for all reasonable X you loose.
For a programmer:
"It will be quicker to write in Erlang than X"
(or more maintainable, etc)
<< the argument is complicated by folding in the time to learn
Erlang - but then again Erlang was designed to be easy to learn -
in the early stages we ran courses for hundreds of regular
Ericsson programmers - and we were constantly changing things to
make it easier to teach and learn >>
Without a great "hype" industry telling people what to
think that Erlang will never reach the giddy heights of C#, C++ etc.
I think we need to aim at a balanced point were we have
sufficient users so as to ensure that we do not die from starvation
or just lack of interest - and not too many users so that those who
do use Erlang retain their commercial advantage.
There is one interesting group of people who are not singing the
praises of Erlang - these are companies that are silently using Erlang
in their products - they gain commercial advantage from this - and are not
particularly keen to see their compeditors change from inferior technologies
and start competing with them.
IMHO people will use language X instead of Y if they can make more money
using X than using Y - then eventually all the users of Y die out - Darwinism.
Cheers
/Joe
More information about the erlang-questions
mailing list