June 13, 2008
janderson wrote:
> I didn't see a reference to D.

Quote at the end of the article.
June 14, 2008
Hot code swapping is essential for a lot of projects, especially if you need to run 24x7, and it's completely trivial to do in Erlang. It's true that its syntax looks alien and some of its limitations are baffling at first, but there are very good reasons for them. Single assignment is very important for handling concurrency. It makes the language safe and allows a lot of optimizations at the VM level. In Erlang you normally have thousands of lightweight processes (similar to Java's green threads) running, and each one of them has its own heap, which can be garbage-collected individually so that the application is never stopped completely during a garbage-collection cycle.

Erlang is much simpler than either C++ or Java. The problem is just that it doesn't share a "common ancestor" with them. That, and the lack of a huge amount of libraries, are the biggest hurdles for its general adoption. I still think that the future looks very promising for it, as there isn't any other language that is better suited for tackling projects with massive concurrency with the maturity that the Erlang VM provides today.

I've recently moved a 15-developer project from Java/C to Erlang/C and in my experience it takes about a week for a Java developer to understand Erlang's syntax and write simple programs with it, and 3 to 4 weeks to be able to use Erlang and the OTP framework productively. It helps a lot if you have been exposed to a functional programming language before, of course, but it's not critical.


renoX wrote:

> janderson a écrit :
>> A friend at work pointed out this article to me:
>> 
>> http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
>> 
>> -Joel
> 
> Very interesting, thanks.
> 
> Ssome advantage of Erlang are mostly theoretical in my book: 'hot code
> swapping' bah, if you want to have full availability you need redundant
> hardware and you can use this for software version change (though it's
> not trivial I agree).
> If you don't need full availability you just stop your software for
> version change: it's much more simple this way.
> 
> Also, I disagree about the 'ease' of learning Erlang: Erlang has an
> alien syntax (which I don't like much) and an alien way of doing things
> (single assignment) which is not so easy for developers..
> IMHO developers learn Erlang because it's good at distributed
> programming not because of the language itself whereas Scala has a
> really nice syntax (better than D's), but it's not as good as
> distributed programming some criticism in the article where interesting
> (cooperative scheduling)..
> 
> renoX

June 14, 2008
On Sat, 14 Jun 2008 12:26:43 -0300, Juan Jose Comellas wrote:

> ...
> renoX wrote:
> 
>> janderson a écrit :
>>> A friend at work pointed out this article to me:
>>> 
>>> http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
>>> 
>>> -Joel
>> 
>> Very interesting, thanks.
>> 
>>...
>> 
>> Also, I disagree about the 'ease' of learning Erlang: Erlang has an alien syntax (which I don't like much) and an alien way of doing things (single assignment) which is not so easy for developers.. IMHO developers learn Erlang because it's good at distributed programming not because of the language itself whereas Scala has a really nice syntax (better than D's), but it's not as good as distributed programming some criticism in the article where interesting (cooperative scheduling)..
>> 
>> renoX

Isn't Erlang extremely slow, though?  The comparisons I seen all place it several times slower than, say, Ruby at the same task.  (Granted the tasks were chosen to compare languages that are largely single stream of execution.  I'm thinking of places like http://shootout.alioth.debian.org/)
June 14, 2008
Charles Hixson wrote:
> On Sat, 14 Jun 2008 12:26:43 -0300, Juan Jose Comellas wrote:
> 
>> ...
>> renoX wrote:
>>
>>> janderson a écrit :
>>>> A friend at work pointed out this article to me:
>>>>
>>>> http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
>>>>
>>>> -Joel
>>> Very interesting, thanks.
>>>
>>> ...
>>>
>>> Also, I disagree about the 'ease' of learning Erlang: Erlang has an
>>> alien syntax (which I don't like much) and an alien way of doing things
>>> (single assignment) which is not so easy for developers.. IMHO
>>> developers learn Erlang because it's good at distributed programming
>>> not because of the language itself whereas Scala has a really nice
>>> syntax (better than D's), but it's not as good as distributed
>>> programming some criticism in the article where interesting
>>> (cooperative scheduling)..
>>>
>>> renoX
> 
> Isn't Erlang extremely slow, though?  The comparisons I seen all place it several times slower than, say, Ruby at the same task.  (Granted the tasks were chosen to compare languages that are largely single stream of execution.  I'm thinking of places like http://shootout.alioth.debian.org/)

For multithrreaded tasks it does much better, but not as well as multithreaded code written in a native language. When you're developing, say, for a supercomputer where a fifty clock cycle difference in an inner loop/frequently called function can man 3 more days of execution time when the program is used in production, these things tend to matter a lot more.
1 2
Next ›   Last »