Live data from Hacker News

Ask HN: Why isn't Erlang more popular?

news.ycombinator.com

221–230 of 244 posts

Re: Ask HN: Why isn't Erlang more popular?

#221
post #56

Earlier quoted context omitted.

Not knowing enough about Erlang/OTP or Go: Would it be possible for more of OTP to be replicated in a Go 2.0? What's missing? What would it take? What can never be replicated?

You can recover a substantial portion, but there's a few things you can't quite get back. Since Go is a mutable-state language, and also a shared-state language (isolation is by convention, not by language design), you have to live with the consequences of that. In my supervisor tree implementation, the restart of a monitored goroutine is just to fire off a new goroutine on the exact same object again; if you still h…

>Someone's got some code for moving file handles around on GitHub but I can't seem to Google it up:

https://github.com/sharvil/flingfd

Re: Ask HN: Why isn't Erlang more popular?

#222

Earlier quoted context omitted.

> Based on this I'm guessing that Erlang is one of those functional languages that are great for mathematical proof-like software development but not practical for solving actual problems because the world is mutable and the language constructs are not. It was actually designed to solve actual problems. Specifically, extremely high reliability in some of Ericsson's core networking gear. I'd recommend Learn You Some E…

For the record, only one generation of equipment used Erlang/OTP. As a part of Ericsson's hardware platform, it was very short-lived.

What did subsequent generations of equipment use?

Re: Ask HN: Why isn't Erlang more popular?

#224
post #99
post #16

Honestly, I think what kills it is that it's not an Algol-descended language [1]. If Erlang was written with an Algol-esque syntax it would have taken off years ago. But instead it has this weird syntax, which it then doesn't really do that much with. What do I mean by that? Haskell has a radically different syntax, but it does things with that syntax and its pervasive currying to enable a powerful succinctness that…

I think this is mostly right. Erlang is, roughly, in the Lisp, Forth, Smalltalk bin, not the C, Ruby, Go bin. Its advocates are going to be going on about how "Erlang got that right in 199something" for years, even when things like Go have got most of what it has. I wrote about Erlang 7 years ago, and a lot of that still holds true, IMO: http://journal.dedasys.com/2007/09/22/erlang/ That said, I lately helped start a…

Err, by his classification, Smalltalk is also in the C, Ruby, Go bin.

He divided by Algol-like syntax and heritage, not by mere popularity.

Re: Ask HN: Why isn't Erlang more popular?

#225

I haven't looked at Erlang before, so I thought I give it a quick look. Google led me to the Erlang home page[1], which has "What is Erlang" (sounds good) and "What is OTP" (which doesn't bother to define what O, T, and P stand for.) Following the Erlang Quickstart [2] link, I get a page that doesn't really tell me anything about the language. It demonstrates a program that implements a factorial function, then tells…

>The first link to more documentation at the bottom of the page goes to a book's website, so that's a dead end.

Well, you can read the book online, so how's that a dead end?

>So I'm going to stop here, and do some real work in a pragmatic language.

Well, $16B for WhatsApp, for a company with like 40 engineers, proves that Erlang can be quite pragmatic itself.

Re: Ask HN: Why isn't Erlang more popular?

#226

Earlier quoted context omitted.

Ffs, you're not looking at some small product that an unknown company built. You're looking at something that is really well-known. What does the website of Google convey? Do you really decide whether you'd learn a language by looking at its website? > "that the online reference doesn't cover interaction with anything outside of your program" This does NOT mean it does not teach you IO. The full bullet point is > "Ho…

> You're looking at something that is really well-known. What does the website of Google convey? The Google comparison is comical. You are wildly over-estimating how well known Erlang is, even in the dev community. > Do you really decide whether you'd learn a language by looking at its website? Most devs learn a new language when it helps them solve a problem. Anyone who needs to solve the problems that Erlang addres…

>You are wildly over-estimating how well known Erlang is, even in the dev community

Well, it's pretty well known in the competent dev community. Some guy doing CRUD apps for some enterprise might not know it, true.

Re: Ask HN: Why isn't Erlang more popular?

#227

Earlier quoted context omitted.

> You're looking at something that is really well-known. What does the website of Google convey? The Google comparison is comical. You are wildly over-estimating how well known Erlang is, even in the dev community. > Do you really decide whether you'd learn a language by looking at its website? Most devs learn a new language when it helps them solve a problem. Anyone who needs to solve the problems that Erlang addres…

> Starting with the Erlang website makes eminent sense Of course it does. But stopping at the Erlang website because of the website makes much less sense. Find some other way to know more about the language and then decide whether you'll use it or not.

Remember that the title of this thread is "Why isn't Erlang more popular?", not "Why Erlang is so great you'll try multiple times to seek out documentation for it".

Re: Ask HN: Why isn't Erlang more popular?

#228

Earlier quoted context omitted.

I'd have to say your idea of supervisors misses the point. Supervised processes provide guarantees in their initialization phase, not a best effort. This means that they are always restarted to a known stable state. It's not just a question of retrying, it's a question of returning to a piece of data and environment that is reliable. I wrote on this more in details at http://ferd.ca/it-s-about-the-guarantees.html If…

It is funny to me that Erlang combines unique tools for application stability with the ability to edit stuff online in production. I'm not saying I never launch a production Rails console, but seeing that in Erlang is a weird juxtaposition. I'd love to understand better how those fit together comfortably in an Erlanger's world view.

In practice, one will have to refrain from some of the crazier stuff when working interactively in the shell of a production system. However, it's extremely useful for debugging and minor adjustments by a skilled engineer. Things you can do include inspection of data structures, (very) careful tracing, loading of instrumented modules or minor corrections.

Since Erlang is dynamically typed, practically all data structures can be inspected at run-time, and one particularly nice thing about the Erlang shell is that it tends to be responsive even when the system is operating at near-maximum load.

Re: Ask HN: Why isn't Erlang more popular?

#229

Fun fact: I did a co-op at Ericsson in second year. I asked my interviewer (later boss) if they used Erlang at all, and she'd never heard of it. Some of the hackers in the company had a limited degree of familiarity with it, but none of the PMs/managers seemed to know what it was.

Something Erlang fans rarely mention: only one generation of equipment used the OTP. In other words, it was stillborn.

Not exactly true. As I know, it is used in all sorts of mobile network equipment, including LTE nodes.

Re: Ask HN: Why isn't Erlang more popular?

#230
post #211

Earlier quoted context omitted.

go 1.2 has preemptive scheduling http://golang.org/doc/go1.2#preemption

In fairness, it's worth pointing out that Go 1.2 has partial preemption. Preemption is still checked only on function entry. However, unlike something like Node, this is not built in the language semantics, it's a characteristic of the runtime, and I imagine over time this will be fixed.

>Preemption is still checked only on function entry.

And I believe also heap allocation... the two cases together make what is still "partial preemption" pretty damn effective.

Post reply on HN