Thread overview | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
June 04, 2008 erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
A friend at work pointed out this article to me: http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/ -Joel |
June 04, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to janderson | This is a fairly interesting blog as well: http://www.sauria.com/blog/2008/05/28/notes-on-a-history-of-erlang/ It's largely a collection of quotes from Joe Armstrong, the creator of Erlang. Here's one of the many that may be interesting regarding D 2.0: "… the status of Erlang as a fully fledged member of the functional family is dubious. Erlang programs are not referentially transparent and there is no system for static type analysis of Erlang programs. Nor is it relational language. Sequential Erlang has a pure functional subset, but nobody can force the programmer to use this subset; indeed, there are often good reasons for not using it." The blog also notes that Joe Armstrong has never mentioned the Actor model in relation to Erlang, and suggests that this means that the Actor model was rediscovered independently during the creation of Erlang. Sean |
June 08, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to janderson | 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 09, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX | renoX wrote:
> 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).
When developing in Java for Eclipse (that has a ~1 min startup time), I frequently use hot-swapping and am often annoyed the sun JVM only allows hot-swapping for method body changes.
I looked into adding native code hot-swapping support on top of DDL, but it looked like all the challenges of writing a static linker + a dynamic linker + a compiler, so I gave up.
|
June 09, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX | renoX:
> whereas Scala has a really nice syntax (better than D's),
It's not just a matter of syntax, Scala has other kind of ideas too. I think D may enjoy some ideas coming from Scala. If you (or someone else) knows Scala, then I suggest to write a list of ideas that can be interesting for D.
Bye,
bearophile
|
June 09, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX | == Quote from renoX (renosky@free.fr)'s article > 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). This isn't always feasible. Consider a phone switch (the purpose for which Erlang was created in the first place). In such instances, even if the programmer has the money and the space for duplicate hardware (unlikely, if you've ever seen a phone switch) then they would still have to reroute all new calls to the backup box and then wait an indefinite period for all existing calls to complete before cycling the old box. As someone who has actually done this, I can tell you that I'd have much preferred simply having new calls simply be able to use the new software. > 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.. I disagree. The Erlang syntax is really pretty straightforward. In fact, the Erlang book covers the entire language in about the first two chapters, and leaves the rest for discussing concepts like concurrency. I felt that this was more than enough coverage for the language itself, and was able to get going with Erlang in the short time it took me to read these first few chapters. There are some things that most users won't need to know anyway, like bit packing and dealing with binary blobs. > 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 Fair enough. I was drawn to D for its syntax rather than what it did as well, so I can see how someone might be drawn to Scala for the same reason. Sean |
June 09, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sean Kelly | Sean Kelly a écrit : > == Quote from renoX (renosky@free.fr)'s article [cut] >> 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.. > > I disagree. The Erlang syntax is really pretty straightforward. Sure, but straightforward isn't the same as easy to learn: you cannot make a syntax more straightforward than Lisp's syntax but this doesn't make the language easy nor pleasant to learn.. Why? Because it's different from what we're used to. And what about the single assignment? Personally I'm not fond of functional programming only. Regards, renoX |
June 09, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to renoX | == Quote from renoX (renosky@free.fr)'s article > Sean Kelly a écrit : > > == Quote from renoX (renosky@free.fr)'s article > [cut] > >> 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.. > > > > I disagree. The Erlang syntax is really pretty straightforward. > Sure, but straightforward isn't the same as easy to learn: you cannot make a syntax more straightforward than Lisp's syntax but this doesn't make the language easy nor pleasant to learn.. Fair enough. > Why? Because it's different from what we're used to. > And what about the single assignment? > Personally I'm not fond of functional programming only. I agree that it's important for mutability to be available if necessary. But Erlang integrates reasonably well with C, so I don't consider this an issue really. In fact, I prefer this approach to the "all in one" approach that D 2.0 seems to be aiming for, as I prefer that there be a semantic separation between my functional and imperative code. I feel that this is a good way of preventing "bleed through" of concepts that would complicate and confuse code. It also neatly avoids a motivator for producing monolithic code, and the consequent risk that the mutable-state portion may fail and corrupt the entire process. But this is really a matter of preference. I'm sure many people disagree, and others simply don't work on the type of applications Erlang was designed to target. I just happen to be in the niche that Erlang was specifically intended for. I only wish I'd heard about it 15 years ago instead of spending all that time mucking about with C++. Sean |
June 11, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to janderson | janderson wrote:
> A friend at work pointed out this article to me:
>
> http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
This is what I'd call invisible advertising in blogs. The mention of D is quite brief, but amounts to product placing in film/TV, for which companies traditionally pay top dollar. Very effective.
|
June 13, 2008 Re: erlang-vs-scala | ||||
---|---|---|---|---|
| ||||
Posted in reply to Georg Wrede | Georg Wrede wrote:
> janderson wrote:
>> A friend at work pointed out this article to me:
>>
>> http://yarivsblog.com/articles/2008/05/18/erlang-vs-scala/
>
> This is what I'd call invisible advertising in blogs. The mention of D is quite brief, but amounts to product placing in film/TV, for which companies traditionally pay top dollar. Very effective.
I didn't see a reference to D. Note: My motivation was that a wide range of views/understandings are helpful in the never ending quest to improve programming skill and language design.
-Joel
|
Copyright © 1999-2021 by the D Language Foundation