Home > misc > Erlang 社区的新面孔

Erlang 社区的新面孔

July 6th, 2009 :: jackyz

伦敦的 Benjamin Nortier 最近在他的博客上贴了一篇 《Erlang Factory 2009 – New Kids on the Erlang Block》(原文在这里,位于“伟大”的那堵墙外,浏览请自备溃坝/翻墙工具,或,看后面的原贴照转) ,在这篇博文中,他历数了 Erlang Factory 2009 上见到的几个有趣的新 Erlang 项目,其中的一些本站此前已有关注,另外一些则相当有新意。

另外,在这里喊一嗓子《Erlang Programming》(另外一本)的英文 PDF 已经全文流出,有人贴出了全本下载的链接,大家有兴趣的,可自行 Google 之。

翻墙辛苦,为方便大家,以下原贴照转,并非蓄意盗版。

Erlang Factory 2009 – New Kids on the Erlang Block

I went to Erlang Factory again this year thanks to my employer, and it was even more exciting than last year’s event. There were some great speakers (Joe Armstrong – entertaining as ever, Simon Peyton Jones), I got to meet some interesting people (e.g. Rusty Klophaus, creator of the Nitrogen web framework) and I got to see some awesome projects. Although Erlang is experiencing a surge of interest, it is by no means “new”. it has been used for years in robust and highly scalable applications. That is why I refer to the “new” – as opposed to the solid Erlang VM, tools, libraries and frameworks that have been around for at least a decade.

So, wo are these the New Kids on the Block? These guys?

Nice hair! No, not them. Here are some of the New Kids on the Erlang Block:

Heroku

Heroku is a platform for deploying Ruby or Rails web apps. They’ve built their routing mesh in Erlang. This routing mesh is used to load-balance and route requests to their application work units (dynos). This is a really cool piece of cloud infrastructure.

HyperNumbers

HyperNumbers is a startup that is “doing for numbers what hypertext did for text”. Think GoogleDocs, but each cell can be a resource that’s located on another spreadsheet. Coming soon.

CouchDB

CouchDB is a non-relational document database written in Erlang, and it is going from strength to strength. Look at this graph from Google Trends:

If you don’t know what CouchDB is, you should definitely have a look it. Even is it’s just to make you challenge you preconceptions around databases, and relational ones in particular. There is also a book coming out soon. It’s open source.

RabbitMQ

RabbitMQ is an open source, high-performance enterprise messaging system, and an implementation of the messaging standard AQMP. It is written in Erlang. I’ve heard rumors that ActiveMQ (Java) has 20 times more lines of code. (NB: If anyone can give me a reference or link to proof I would be grateful).
Update: According to ohloh.net, ActiveMQ has 908,577 lines, and RabbitMQ has 27,127.

Nitrogen Web Framework

This is my favourite web framework. It’s a real Web 2.0 framework, and it’s highly productive. Some of the main features are:

  • Event-Driven Development
  • Brainlessly Easy Ajax
  • Ridiculously Simple Comet
  • Complex Interfaces: Dragging, Dropping, and Sorting
  • Flexible Templating
  • Data Binding
  • Erlang Power

I’ve used this to create my own pet Erlang project, opinion8r.com. Check it out. It’s also open source.

Smarkets

I didn’t go to this talk, but I’ve been to one given last year at the Erlang London User group. Smarkets is an online betting exchange which allows users to bet on anything they wish. It is implemented in Erlang and close to launch.

Campfire

Campfire is one of the applications from the guys at 37Signals. If you don’t know who 37 Signals are, they created Ruby on Rails. The functional C polling for Campfire service that was being used was replaced by an Erlang implementation:

The Erlang implementation is as fast as the C implementation, modular and extensible, and much easier to administer with 1 OS process instead of 80.

OneTeam Media Server

OneTeam Media Server is a new project launched by ProcessOne which is a Media server for Flash clients implementing the FLV and RTMP protocol. The project is designed so that it can work hand in hand with ejabberd, ProcessOne Instant Messaging platform.
This one is very exciting. The media server has Flash in the front end, and Erlang in the back. It makes thing like writing video chat in the browser ridiculously easy. And it’s open source! Look out for it in July.

Webmachine

Webmachine is the best way to implement a REST interface to your Erlang application that I’ve seen to date. I’ve blogged about REST and Erlang in the past, but instead of rolling your own, you should look at this. Especially considering how it handles all the response codes correctly, does all the correct caching responses etc. Another open source project.

And the point is…?

I think it’s a very positive indicator for the future of Erlang that it is being used in these new and exciting areas and companies. It is performing very well in the field of high-scalability infrastructure. It is well suited to Cloud computing. But most importantly, very clever and innovative people are using it and loving it. That, above all else, means the future looks good for Erlang.

P.S. I’m sure I missed some great talks again this year, but lucky for me and you, you can find the talks and videos here.

misc

  1. 老范
    July 7th, 2009 at 18:35 | #1

    我们的ErlangBattle 恶狼战役也是很好的项目啊。

  2. xiujin
    July 8th, 2009 at 02:39 | #2

    图挂了…

  3. jackyz
    July 8th, 2009 at 09:54 | #3

    @老范 ErlangBattle 确实是不错的项目,我也很想介绍 EB,可是还不大了解。不如,你这个发起人自己来写一篇正式的文章发在这里介绍给大家。之前为了反垃圾,发表权限已经暂时收回了,你直接联系我就好。地址是:jackyz.zhao 在 gmail 。

  4. jackyz
    July 8th, 2009 at 09:55 | #4

    @xiujin,图的确挂了,本来就是盗链,也不想修复了,凑合着看吧。

  5. August 6th, 2009 at 00:13 | #5

    @jackyz erlbattle [erlang文档计划]
    http://erlang-china.org/wiki/erlbattle 已经进行了同步报道,

    正式的介绍,最好当面沟通后,由受众~ 你来发布 ;-)
    这样才显出项目易懂好玩哪,,,

  1. No trackbacks yet.