[erlang-questions] trouble with erlang or erlang is a ghetto

Loïc Hoguin essen@REDACTED
Tue Jul 26 23:05:05 CEST 2011


On 07/26/2011 09:07 PM, Joel Reymont wrote:
> Did I miss a lively and heated discussion?
> 
> http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html
> 
> Bring it on!

All I'm seeing there is "Make Erlang like language XYZ". Not that Erlang
can't learn from other languages and platforms, I'm sure it does, but
Erlang focuses on reliability and you can't be reliable and add new
trendy features every year while remaining reliable. Adding features to
Erlang is a long and progressive process and this sort of development
pace doesn't with the "following trends" approach most programmers use
with regards to programming languages. Two days ago Java was trendy,
yesterday it was Ruby, today it's Javascript, tomorrow it'll be another,
everytime reinventing the loop or partially taking from other languages.
Personally I like the slow but certain approach better.

So yeah, maybe Erlang doesn't have the best features of Lisp, and
Clojure, and Java, and Ruby, and Javascript, and-- but neither do them.
I'm a firm believer of the "right tool for the right job", and it turns
out that Erlang actually is good for most server application jobs, so it
pleases me quite well. And it doesn't need to have 10 million features
to fit that role, it just needs to be reliable, concurrent and distributed.

I disagree about Erlang's syntax though. Not that it doesn't suck, but I
don't know any language syntax which isn't sucking (I'm sure you'll tell
me your favorite language has great syntax). They all have issues, they
all have traps you must learn to avoid, and nothing you can do will
change that. Maybe you can add some syntax sugar to avoid typing 5
characters here and there, but seriously what's the point? If the syntax
changes don't make me think differently about the way I program, and
don't allow me to do things I couldn't do before, then they're pretty
much irrelevant to the matter at hand: getting things done. There *are*
interesting concepts that could be good, one day, in Erlang. But not
having them doesn't prevent us from being efficient so they should go
after making Erlang even more reliable, and also after adding missing
library components to the pool of applications. Unless you're doing your
project for fun or something, in which case have fun. But toying with
syntax doesn't make much sense if you need to bring in money.

Erlang does very well what it's designed for, and I'm thankful for that.
I'm using Erlang to do a lot of things. I wouldn't use Erlang to do
everything. But Erlang allows me to get the work done and more
importantly it allows me to move on to other projects quickly because
Erlang provides me with everything needed to avoid almost all possible
bugs (Dialyzer, PropEr, eunit and ct are wonderful to work with), and
once in production I'm confident my applications will always be running
and available. That's something I can't say for any other language or
platform out there today.

-- 
Loïc Hoguin
Dev:Extend



More information about the erlang-questions mailing list