The Next Mainstream Programming Language: A Game Developer's Perspective :: Redux

Julio César Carrascal Urquijo jcesar at phreaker.net
Wed Jul 18 10:48:50 PDT 2007


Bruno Medeiros wrote:
> Hum, again Erlang, interesting. I had heard a bit about it before, on an 
> article (again don't remember where) about a comparison between Apache 
> and a web server built in Erlang. On a multicore machine Erlang did much 
> because of it's massively parallel capabilities, etc..

Probably this one: http://www.sics.se/~joe/apachevsyaws.html


> This makes Erlang very interesting, but one must then ask questions 
> like: What restrictions does Erlang's approach have? Does it have 
> disadvantages in other areas or aspects of programming? Is it good as a 
> general purpose programming language, or is it best only when doing 
> concurrent applications? Can any of it's ideas be applied to imperative 
> languages like D, Java, C#, etc.?

My (very limited) experience with Erlang on a (very small) pet project 
is that you can't just transliterate a Java or C# app to Erlang. The 
paradigm is too different, you have to redesign the entire app to 
benefit from Erlang's features; but, once you start to get comfortable 
with it you get several times more productive with Erlang.


> I personally am not looking deep into this (never had the use to study 
> concurrency in-depth so far), I'm just pointing out that a lot of things 
> have to be considered, and I have a feeling that there must be some 
> downside to Erlang, or otherwise everyone else would be trying to bring 
> Erlang aspects into their languages. Or maybe Erlang is just taking 
> momentum. Time will tell.

Some of it's concurrency features could be implemented as a library. 
gen_server and family is a Template Method using callbacks + Green 
threads + error recovery on steroids.

What I'd really like to see on D is the bit syntax and pattern matching. 
It is very useful to implement binary protocols and parsers. But I'm not 
holding my breath.



More information about the Digitalmars-d mailing list