Live data from Hacker News

Why Erlang matters

petrohi.me

31–40 of 75 posts

Re: Why Erlang matters

#31

Would it be safe to say Scala with the Akka lib offers the same robustness and distributed scalability as Erlang? Erlang is using the actor model and so is Akka. I really want to learn one or the other as a goto functional language. I keep looking at sites like Netflix, Twitter and Foursquare. Those seem to be sites running on either Java or Scala. Why would they pick that instead of Erlang?

Pragmatism. It is easier to find JVM-knowledgeable people than to find BEAM-knowledgeable people. The actor model isn't the only aspect that gives Erlang its robustness. In fact, far more important is its supervisory model, which goes as deep as you want it and can supervise across system boundaries. I keep waiting for the language that learns these lessons from Erlang with a happier syntax, but I have yet to find it…

Going back to the OP, does Akka provide that depth or not? Akka is a LOT more than just Actor-based concurrency.

Re: Why Erlang matters

#32

Earlier quoted context omitted.

> The question is why is it not a language in widespread practical use? 1. It kind of is, I think RabbitMQ, CouchDB and Riak are doing ok, for example. 2. Both syntax and semantics are sufficiently different from "industry standard" to be a hurdle for majority of people... I'm being told. I don't understand this; the more different the language is the more interesting it seems to me and the more happy I am to learn i…

RabbitMQ has some pretty serious limitations related to it being implemented on Erlang that keep it pretty strictly in the realm of being a message queue rather than a generic queue. CouchDB is more C++ than Erlang these days, bad example. It hasn't been mostly Erlang for a really long time. Erlang basically only does the clustering behavior, which is something Zookeeper et al. do already. Riak is the only solid exam…

> RabbitMQ has some pretty serious limitations related to it being implemented on Erlang that keep it pretty strictly in the realm of being a message queue rather than a generic queue.

Interesting, where can I learn more about this claim? What are the incompatible facets of a generic queue and Erlang? What is an example of these generic queues (or if it's only an ideal, what are its characteristics)?

Re: Why Erlang matters

#33

Earlier quoted context omitted.

> The question is why is it not a language in widespread practical use? 1. It kind of is, I think RabbitMQ, CouchDB and Riak are doing ok, for example. 2. Both syntax and semantics are sufficiently different from "industry standard" to be a hurdle for majority of people... I'm being told. I don't understand this; the more different the language is the more interesting it seems to me and the more happy I am to learn i…

RabbitMQ has some pretty serious limitations related to it being implemented on Erlang that keep it pretty strictly in the realm of being a message queue rather than a generic queue. CouchDB is more C++ than Erlang these days, bad example. It hasn't been mostly Erlang for a really long time. Erlang basically only does the clustering behavior, which is something Zookeeper et al. do already. Riak is the only solid exam…

I only said it is being used, not how good the products are... And CouchDB is a perfect example - from what I saw they use Erlang for what it's good at and use other tools where it's not appropriate - that's exactly how Erlang should be used[1].

[1] Or at least Joe Armstrong says so in his book, "Programming Erlang".

Re: Why Erlang matters

#34

It is not just "matters". It is a deeply-researched and well-engineered explicitly concurrent programming language by smart and passionate people. It is a very rare example of first-class project, compared to the common nonsense, like Java or, god forbid, NodeJS.) If it is not that popular (which is rather good) it is not a language's fault. It is due to inability to acquire and maintain an appropriate mindset. btw,…

Guess you didn't get the memo that worse is better.

That "common nonsense" you speak of (aka Java) runs on billions of devices and handles trillions in revenue. Erlang keeps legacy phone switches running. It's like people who say X language is amazing and lament the crap that is English.

Who cares?

English runs the world economy.

Re: Why Erlang matters

#35

It is not just "matters". It is a deeply-researched and well-engineered explicitly concurrent programming language by smart and passionate people. It is a very rare example of first-class project, compared to the common nonsense, like Java or, god forbid, NodeJS.) If it is not that popular (which is rather good) it is not a language's fault. It is due to inability to acquire and maintain an appropriate mindset. btw,…

Guess you didn't get the memo that worse is better. That "common nonsense" you speak of (aka Java) runs on billions of devices and handles trillions in revenue. Erlang keeps legacy phone switches running. It's like people who say X language is amazing and lament the crap that is English. Who cares? English runs the world economy.

> Guess you didn't get the memo that worse is better.

In what sense? Why do I have to paste this link: http://www.paulgraham.com/avg.html here of all places?

Re: Why Erlang matters

#36
post #6

People are always asking what is a good HN article, I'd say this is, great links to research that backs up many of the assertions. "Erlang matters today because it demonstrates how these semantics can be elegantly packaged in one language, execution model and virtual machine." I think yes, in a theoretical sense this is absolutely true. The question is why is it not a language in widespread practical use?

> The question is why is it not a language in widespread practical use? 1. It kind of is, I think RabbitMQ, CouchDB and Riak are doing ok, for example. 2. Both syntax and semantics are sufficiently different from "industry standard" to be a hurdle for majority of people... I'm being told. I don't understand this; the more different the language is the more interesting it seems to me and the more happy I am to learn i…

>> It kind of is, I think RabbitMQ, CouchDB and Riak are doing ok, for example.

And scalaris [1]. For me it's killer app for Erlang.

[1] http://code.google.com/p/scalaris/

Re: Why Erlang matters

#37

It is not just "matters". It is a deeply-researched and well-engineered explicitly concurrent programming language by smart and passionate people. It is a very rare example of first-class project, compared to the common nonsense, like Java or, god forbid, NodeJS.) If it is not that popular (which is rather good) it is not a language's fault. It is due to inability to acquire and maintain an appropriate mindset. btw,…

> If it is not that popular (which is rather good)

Not popular often means you have to write libraries or code yourself that in a more popular language would already be sitting around ready to use. In other words, in a business context, it might cost you more money to use a less popular language.

> it is not a language's fault

I don't agree. I think for instance that Erlang could likely have a more C like syntax, and that would have bought it more users. There's plenty of other stuff that you can do to make a learning curve relatively easy, so that people can slowly start out and get to know a language.

Of course there are factors beyond the control of a language's designers and proponents, but looking at things like PHP and Ruby, you can certainly get popular without, say, having huge corporate backing.

Re: Why Erlang matters

#38
post #37

It is not just "matters". It is a deeply-researched and well-engineered explicitly concurrent programming language by smart and passionate people. It is a very rare example of first-class project, compared to the common nonsense, like Java or, god forbid, NodeJS.) If it is not that popular (which is rather good) it is not a language's fault. It is due to inability to acquire and maintain an appropriate mindset. btw,…

> If it is not that popular (which is rather good) Not popular often means you have to write libraries or code yourself that in a more popular language would already be sitting around ready to use. In other words, in a business context, it might cost you more money to use a less popular language. > it is not a language's fault I don't agree. I think for instance that Erlang could likely have a more C like syntax, and…

> Erlang could likely have a more C like syntax [...] so that people can slowly start out and get to know a language

This reminded me about famous Linus rant against C++ - in the same vein it can be argued that "cryptic" (actually very readable and consistent IMHO) syntax would be a win even if it did nothing more than keep C (style) programmers out of Erlang development :)

You're certainly right from business perspective, however.

Re: Why Erlang matters

#39

Earlier quoted context omitted.

Guess you didn't get the memo that worse is better. That "common nonsense" you speak of (aka Java) runs on billions of devices and handles trillions in revenue. Erlang keeps legacy phone switches running. It's like people who say X language is amazing and lament the crap that is English. Who cares? English runs the world economy.

> Guess you didn't get the memo that worse is better. In what sense? Why do I have to paste this link: http://www.paulgraham.com/avg.html here of all places?

Unix, Linux and Java just to name a few highly successful worse is better paradigms. List the number of multi-billion dollar Lisp startups - I can think of only one that comes close - ITA ($700 million), and that was bought out by a C++/Java shop, namely Google.

Don't take my word for it, ask a famous Lisper: http://en.wikipedia.org/wiki/Worse_is_Better

Re: Why Erlang matters

#40

Earlier quoted context omitted.

> Guess you didn't get the memo that worse is better. In what sense? Why do I have to paste this link: http://www.paulgraham.com/avg.html here of all places?

Unix, Linux and Java just to name a few highly successful worse is better paradigms. List the number of multi-billion dollar Lisp startups - I can think of only one that comes close - ITA ($700 million), and that was bought out by a C++/Java shop, namely Google. Don't take my word for it, ask a famous Lisper: http://en.wikipedia.org/wiki/Worse_is_Better

The lisper follows up his essay with another: http://dreamsongs.com/Files/worse-is-worse.pdf (this IS written by Richard Gabriel, only under pseudonym, look at your wiki article: "Gabriel later answered his earlier essay with one titled Worse Is Better Is Worse[3] under the pseudonym "Nickieben Bourbaki" (an allusion to Nicolas Bourbaki)." - last line of "Effects" section) which presents slightly different opinion :)

Also, I'm afraid Java is a perfect counterexample for "worse is better". It does everything and then some, but there are better (like, worse - less complicated, easier to use, more focused) solutions for almost everything Java does... And Java is still insanely popular.

Lastly, you seem to want to equate popularity with quality, and then you give Linux as an example. Surely, Windows is better because it's installed on many more PCs than Linux?

Post reply on HN