[erlang-questions] Forget Erlang on the Java VM. More language on the Erlang VM are needed!

Joe Armstrong erlang@REDACTED
Wed Nov 28 17:45:52 CET 2007

On Nov 28, 2007 3:35 PM, Michael Regen <michael.regen@REDACTED> wrote:
> Joel, Torbjorn,
> Maybe we are talking about two different things: Technical advantages and
> pushing Erlang.

I'm going to wade in here on the "pushing Erlang" topic - non
technical aspects thereof.

I was pusher #1 - so I've probably seen or tried every method you can imagine.

> You have certainly a much better understanding of Erlang's internals. Since
> I lack most of them I probably cannot decide how difficult it would be to
> have the same functionality Erlang offers today under another VM. True.
> On the other side: Please correct me if I am wrong but I thought that e.g.
> Scala Actors manages to get quite good performance figures for lighweight
> processes and message passing under another VM - in this case the JVM. But
> maybe I am comparing apples with oranges here!?
> If really most of the benefits come with the Erlang VM or the disadvantages
> of using another VM are simply too big, then of course my arguments are
> void.
> My main point is simply: How do I sell Erlang to a typical decision maker in
> the finance and telecom industry. And I do not mean people who decide on the
> OS used in an ATM switch but the ones who are responsible for all the back
> office server software. Java is _the_ big player here. And although we all
> know the meaning of the 'T' in OTP and know that Erlang could help so much
> here, it is not known much and used much less.

Don't even try - a "typical" decision maker is the wrong person to
sell the idea to.

People who are responsible for the back office server are by definition in the
mainstream. YOU CAN'T SELL TO THE MAINSTREAM. I have wasted years of my life
trying to do this - do you know how many grey hairs I have? One for
each person like this.

You also can't sell to the early adapters! - Why they have their own ideas.
They find us not the other way around.

Erlang business is crawling out of the floor - the companies who sell
Erlang support are doing so
without any heavy marketing activity - people find them - they come
banging on the door
asking for help.

> So where does it come from that people are not deciding in favor of it?
> My experience (a bit overdrawn and simplified) is that the typical CIO will
> not think in terms of 'what is the best tool?' but 'what is the best tool
> for which I will not get fired'. For a CIO thinking out of the box can be
> dangerous: If everything works, you did your job. If not, you will be blamed
> for deciding against industry standards. Causing a big bias in favor of
> industry standards.

You won't be able to sell the ideas of Erlang to some guy whose main goal
in life is not to get fired.

It depends upon the mind set of the person you are trying to convince.

   If they are thinking - minimise my exposure if things go wrong then
choose Java
   if they are thinking - maximize my profits if things go right then
choose Erlang

I asked the first venture capitalist who put money into an Erlang
company why he had invested in us.
I said something like "you must be mad to invest in us, you no nothing
about the technology"

He said - I'm not investing in you - I'm investing in a sector - I
want to buy into 10 high tech startups - if
9 fail and one succeeds and makes a big profit I'm happy - I'm after
the one that succeeds and not the nine that fail.

He backed Bluetail (the first Erlang startup) - he made his money
(Lots actually, which is why several second generation Erlang
companies got their money - but that's a longer story)

Venture Capitalists are used to taking risks - the argument over java
is extremely simple -
"if you use the same technology as everybody else you will get the same result"

Venture capitalists don't back technologies they back people - the old
addage is "give me a grade 1 person with a grade 2 idea rather than a
grade 2 person with a grade 1 idea"

Erlang provides a commercial advantage over java for a certain class
of problems.

I have only seen three repeatable patterns, that have caused the
spread of Erlang into
commercial projects:

    1) A Catastrophe
        Project X fails - totally - a total disaster.
        Help me - help help help

        Erlang guys run in an save them

     2) We can make money
         Idea X can make money if we can implement it really quicky
and get to the market place *tomorrow*
         Erlang guys think it's a programming competion that they'll
do over the weekend - first product is
         shipped in three months. Java compeditor goes bankrupt.

     3) Hop offs
         A gang of smart programmers get so frustrated using
technology X that they bail out from the mothership
        start own company and do stuff in Erlang

   All of the three above mechanism are based on actual examples -
this is not theory. Some guys at a business
school should do case-studies on the actual mechanism involved in
technology transfer and not the crap you read in books.

   The other critical thing is TIMING

    At the right time and place an idea can spread very quickly. When
projects collapse you must move quickly.
Entire industries can be restructured in less than a week.

    In the mean time it's drip, drip, drip - all the arguing you do
helps - though when you will see the benefit is

     Knowing which projects that are about to fail isn probably a good idea ...

     There are YEARS when nothing much happens (we've had three year
doldrums) - then suddenly things can
hapen in a week.

     When things go wrong, etc. you must move QUICKLY.

     After the great fire of London Sir Christopher Wren learnt of the
fire while in Oxford. He immediately returned to London
took about a week to replan the city center and ran off to present
Charles III with a set of plans for a new city center and
St Pauls cathedral. He had his guys working round the clock to do
this. They got the contract - they were first.

    That weeks work was critical for Wren and for the architecture of London.

    If you're in one of these phases where things don't happen bide
your time. Write an operating system in your spare time
or a stock exchange - this is always good practise - like doing your
scales if you play the piano -

    Wait for something to happen - then run like hell when it does.

    Most of the big things we plan never happen anyway - all the
really significant changes in Erlang were unplanned.

    Also winning and loosing is often a purely temporary thing - often
we won battles - but it turned out badly. And lost
battles which then turned out well. Erlang was banned years ago ( a
loss) but a few years on the ban caused
it to spread and led to widespread use outside Ericsson.

  I'll leave the technical arguments (of which there are many) to other threads

/Joe Armstrong

> Therefore I can see huge advantages if Erlang would run under the industry
> standard JVM. Maybe no technical advantages - besides possibly easier Java
> integration. Maybe even some disadvantages. But for me it makes a difference
> if I can sell my Erlang solutions or just go over to the next pitch. So, the
> question for me is rather be what would we lose with another VM.
> Cheers,
> Michael
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list