Logo


Erlang, the future of Web Apps?

Posted in internet, Programming, erlang by Dragan on the June 8th, 2008

There is a lot of buzz around Erlang these days, and there is a reason to it - Erlang has native solutions for most common problem of todays large web apps:

-Erlang is distributed
-Thus, Erlang is easy to scale
-Erlang comes with built in mnesia database, which can also be distributed
(and it even comes with transaction support)

Erlang is process based language, and programmers from the world of sequential languages must change they mind set rapidly in order to fully understand and take advantage of Erlang.

On the other hand, Erlang is fairly simple language with just a few built in functions an it could take you just a few days to get a grip on it.

and if you dont trust me, you should probably trust guys at Google. Here is one of the topics form this years Google's scalability conference in Seattle:

Scalable Wikipedia with Erlang by Thorsten Schuett, Zuse Institute Berlin

Abstract:

Global online services at Amazon, eBay, Myspace, YouTube, or Google serve millions of customers with tens of thousands of servers located throughout the world. At this scale, components fail continuously and it is difficult to maintain a consistent state while hiding failures from the application.

Peer-to-peer protocols provide availability by replicating services among peers, but they are mostly limited to write-once/read-many data sharing. To extend them beyond the typical file sharing, the support of fast transactions on distributed hash tables (DHTs) is an important yet missing feature.

We will present a distributed key/value store based on a DHT that supports consistent writes. Our system comprises three layers:

* a DHT layer for scalable, reliable access to replicated data,
* a transaction layer to ensure data consistency in the face of concurrent write operations,
* an application layer with an extremely high access rate.

For the application layer, we selected a distributed, scalable Wiki with full transaction support. We will show that our Wiki outperforms the public Wikipedia in terms of served page requests per second and we will discuss how the development of the distributed code benefited from the use of Erlang.

Also Apache built their new document based database called Couch DB on top of Erlang, and Facebook implemented their online chat system in Erlang, so if you think about it, there must be something good about that language.
So why not learn it?

2 Responses to 'Erlang, the future of Web Apps?'

Subscribe to comments with RSS or TrackBack to 'Erlang, the future of Web Apps?'.

  1. Alain O'Dea said,

    on June 14th, 2008 at 3:59 am

    Erlang is not only great for big distributed systems, but also for small utility programs as well. I wrote a bridge between Subversion and Mercurial using Erlang.

    The algorithm in my head for doing the revision by revision copying naturally mapped into Erlang code.

    Pattern-matching, tail-recursion, and ports alone are enough to switch utility and glue code to Erlang.

    Add to that concise syntax for message-passing and explicit, but easy distribution of work across a node network and you have a winner for all aspects of enterprise software development.

    Why is my company not using Erlang already? All of our developers (including me) learned to program in Java in the OOP style. Erlang differs substantially from Java in its syntax, but more significantly in the approach to writing programs using it. Erlang's approach of pattern-matching, recursion and message-passing is a huge strength once you have acquired it, but it is a mind-bender for developers accustomed to polymorphism, class hierarchies and for loops. Several of Joe Armstrong's presentations have concise examples highlighting the strengths of Erlang's approach. Timely demonstration of them to OOP developers will increase their familiarity and comfort with the approach and may even pique their interest in learning Erlang themselves. Timely is the key, don't be a squeaky Erlang wheel as it will just irritate your colleagues and build contempt for Erlang. I learned that lesson the hard way.


  2. on March 6th, 2009 at 11:18 am

    [...] AW: Welche Programmiersprache? Zu Erlang hab ich einen interessanten Artikel gefunden: Erlang, the future of Web Apps? __________________ software-, spiele- und webentwicklungs blog jDesk - open source projekt [...]

Leave a Reply (English only)


All Rights Reserved, Copyright © 2007 Dragan Bajcic.
YourTree | Dragan@YourTree | Web Development and Consulting | rent a car srbija