Hacker News new | ask | show | jobs
by rkhacker 1844 days ago
Given its support of functional language, built-in fault-tolerance, asynchronous message passing, and scalability, one would assume that it should ride the current wave of distributed computing. Any reason why it is relegated to a niche technology?
2 comments

No large company pushing it (it came out of Ericsson, but it was never meant as a mass market language from their eyes, so it was really only its creators pushing it), strange syntax (Prolog rather than Algol/C derivative), FP with immutability (so common things like for loops don't exist, making it feel alien to the common dev), and the benefits being things that require understanding and likely experiencing to really value.
This answer is true, but also a bit depressing. It's like saying "we know this would be the right way, but we prefer the old ways. So we'll just keep shooting ourself in the foot with our C-looking code, with its for loops and its concurrency boilerplate".

(Just to be clear: "We" does not refer just to devs/engineers, companies may also be wary of using an alternate technology, even though it could bring benefits down the road)

Well, yes, but there is definitely a bit of dissonance in tech. Likely everywhere, but it's easy as a dev to see it here.

Every place wants to be the best. And yet, most places, when confronted with new technology, ask the same questions. "Who else is using it?", "How easy is it to hire for?", and if they're a bit sharper, "How much library/community support is there?" And they ask these without realizing that all of those questions will ensure they adhere to the mean. Positioning themselves that way prevents the risk of dropping below the mean due to technology choices, but it also prevents rising above it. But that's okay with most corporations, which are all about risk management, and who don't equate a tech win -> faster/better software -> better user experience -> a business win.

I agree with the opening sentence that there is no large company pushing or rather peddling it. But the fact that it supports FP with immutability is really a well positioned design and with little bit of practice programmers get the hang of it very fast. Lack of for loop should not be an alienating factor, according to me. With NIF one can integrate with native code easily so, a team does not have to re-write the entire codebase just because Erlang has been chosen.
Because companies need something that will integrate with and complement their current knowledge base and solutions, not completely replace it.