[erlang-questions] Erlang is the best choice for building commercial application servers

Shahrdad Shadab shahrdad1@REDACTED
Mon Mar 12 04:00:45 CET 2012

On Sun, Mar 11, 2012 at 9:27 PM, envelopes envelopes

> scala has the potential to successor java and also integrate all legacy
> java applications. Though many of its features are copied from Erlang.
> On Mar 11, 2012 5:01 PM, "Matthew Evans" <mattevans123@REDACTED> wrote:
>>  Pretty much this. I've recently been introduced to Java, and
>> unfortunately what most of the pointy-haired managers don't realize is
>> there is a huge difference between Java the language (which isn't that
>> bad), and Java the application environment (which is complex and terrible).
>> Once you get Java+Spring+Hibernate+20 other frameworks and libraries you
>> are left with a VERY hard to maintain and complex application. In the end
>> it often only has a small amount of real Java - the rest is pages of
>> impossible to maintain XML.
>> See this blog:
>> http://www.jillesvangurp.com/2009/10/07/server-side-development-sucks/
>> The other problem is one of control. Even if the managers, and the rest
>> of a development team don't know Java, it looks very familiar to C++ and
>> the C family of languages. If you propose Erlang, they see that the
>> language looks very different, and that scares people. Suddenly they are
>> not in control anymore, feel less valuable to the organization; it makes
>> them feel threatened.
>> We as a community can help to remove many of the negative perceptions
>> people have about Erlang. It's perceived to be slow, although in many cases
>> that's caused by lousy code from newbies (JIT would be nice though ;-).
>> It's also hard as a newbie to write good code since the concepts are very
>> different. You can knock up a simple Erlang application quite quickly, but
>> it might not perform that well. What you end up with are newbies producing
>> poor code, getting frustrated and giving up. I've read many stories on
>> Reddit and similar places of companies starting an Erlang project, getting
>> bad results and throwing it out. It give a very bad impression on the
>> language. More often than not someone will come along later, refactor the
>> code, and get stellar performance - but by then it's too late.
>> I think tidying up some modules, and getting the word out there on how to
>> write proper Erlang apps would help a lot. Things like E2
>> http://e2project.org/ are a good start along this path. Projects like
>> rebar make app. packaging simpler. Basically we need
>> more consistency across the board. Also having more languages running on
>> BEAM could make the take-up easier (as well as Erjang on the JVM).
>> Finally I would say this. As Torben mentioned, no one gets fired for
>> choosing Java. More to the point, no one gets fired for choosing Oracle. I
>> think Ericsson is doing a more than stellar job of maintaining Erlang. But
>> is this also a problem? Sometimes I wonder if it would be better if Erlang
>> was "owned" by Ericsson, Klarna, Basho, Trifork, Erlang Solutions,
>> Springsource/VMware (RabbitMQ). Basically have it owned by a consortium of
>> companies. Would that make managers more comfortable taking on Erlang?
>> I could go on, but that's my 2 cents for now.
>> Matt
>> ------------------------------
>> Date: Sun, 11 Mar 2012 22:04:33 +0100
>> From: torben.lehoff@REDACTED
>> To: shahrdad1@REDACTED
>> CC: erlang-questions@REDACTED
>> Subject: Re: [erlang-questions] Erlang is the best choice for building
>> commercial application servers
>> Nobody has been fired for choosing Java.
>> See Mike Williams slides from the London Erlang Factory 2011:
>> http://www.erlang-factory.com/conference/London2011/speakers/MikeWilliams
>> Digging a bit deeper it comes down to risk management and most big
>> companies has a strong dislike for anything new and different since that
>> reeks risk to them.
>> Take a look at all the start-ups in the US that is using Erlang and
>> asking for Erlangers. There Erlang has been chosen since it is the right
>> fit for the problem at hand.
>> For a big company with a lot of legacy Java code and people trained in
>> Java it is far from obvious that a switch to Erlang will be the right
>> choice. I would actually get a bit nervous if management accepted such a
>> shift without a thorough investigation and even if that investigation gave
>> a go-ahead to do a shift I would be nervous since such a fundamental break
>> with the past only happens when a company is staring into the abyss of a
>> pending bankruptcy!!
>> I was one of the two guys behind a product made in Erlang in Motorola.
>> One of the main reasons for getting the go-ahead to that project was that
>> we were building a new product and did not have to throw anything out.
>> Eventually we shipped the product as a beta to a single customer, but the
>> reluctance to bet on something as strange as Erlang for a "real" contract
>> is still around and I will actually bet on the final product being written
>> from scratch in C or Java since that is what the managers and old school
>> architects feel most at ease with!
>> The history of technology is full of this kind of stories... and one day
>> some new technology will come along and overturn whatever kingdom Erlang
>> might have build. The circle of life continues.
>> Cheers,
>> Torben
>> On 11/3/12 18:09 , Shahrdad Shadab wrote:
>> When I was learning Erlang and understanding its capabilities I really
>> cannot find a satisfactory answer to the question that
>> why in North America companies like former BEA, former Sun, Oracle , ...
>> use Java to build commercial application servers instead of Erlang?
>> From technical perspective such decision doesn't make any sense to me for
>> following reasons:
>> _Java is not a fault tolerant.
>> _Java performance is nowhere near Erlang.
>> _Concurrent programming in Java is a pain.
>> _J2ee Technology introduced as add on to java to make communication cross
>> servers possible (i.e web services  XML SCHEMA, WSDL) is unreasonably and
>> grotesquely complicated. (This complication  is dictated by the technology
>> and not by the problem domain)
>> _Java is not distributed language (No asynch communication is possible
>> without JMS, also RMI stub solution is more complicated than it should be).
>> and many more reasons I can list here.
>> Thanks in advance
>> Shahrdad
>> --
>> Software Architect & Computer Scientist
>> _______________________________________________
>> erlang-questions mailing listerlang-questions@REDACTED://erlang.org/mailman/listinfo/erlang-questions
>> -- http://www.linkedin.com/in/torbenhoffmann
>> _______________________________________________ erlang-questions mailing
>> list erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
Thanks everybody for your valuable comments, What I got from your comments
is basically comes down to the very point
that the decision of picking java/j2ee over Erlang is most business driven
than computer science / technology driven.
The similar reason is behind creation of C# and .net which is a close copy
of java and J2ee (Just because of competition between Microsoft and Sun).
If I want to go a little bit deeper to the heart of the problem (at least
in North America) big companies like Microsoft or Oracle kind of
derailed IT from its normal path. You would never see such negative
influence of money and power in other fields like applied math or physics
because the result of innovation in these fields isn't directly applicable
in business problems. Here we are dealing with business man's decision
override right technical decisions.This is just trouble. This causes many
practitioners use their mind and time to understand and maintane systems
that are implemented in technologies which were not the right solution
since the day one.
Even business is currently paying for such bad decisions that they make in
this filed by spending too much money for maintenance of the systems that
are implemented with non-suitable technologies.
Currently I don't see any solution to this problem unless IT's point of
view respected by line of business and business decision makers don't cross
their red lines and invade IT realm.

Best Regards

Software Architect & Computer Scientist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120311/e405a095/attachment.htm>

More information about the erlang-questions mailing list