Skip to content

Comment on Ask HN: Who is not betting on Elixir and why not?

Comments

Coming from the banking industry, nobody looks at using unproven languages or frameworks unsupported by a large community or major vendor. If you "guess wrong" on a language you're looking at a multi-million dollar rewrite down the road which is an unacceptable risk. It's also very difficult to find staff or contractors who are familiar with new or unpopular tech. Basically any industry that deals with "real money" or "life and death" intentionally does not follow developer fads.

Well Erlang Solutions supports Elixir in a major way. Goldman is running a lot of core critical systems on Erlang (supported by Erlang Solutions as far as I remember).

They have the brand to recruit with the budget to pay first class support and contractors at > £1000 a day. Do you?

Even with that, it's still difficult for them to recruit.

Well thats a very random question in my case "we" are charging 400 USD / hour and have to turn away clients because we are at 100% capacity. (this has very little relevance to Elixir though)

I believe Klarna (dominant payment service provider in Sweden, handling >$10B/yr) is starting to do some stuff in Elixir (having already invested heavily in Erlang).

Started? I'm quite certain their entire API backend runs elixir. I've been an early user of their public APIs for many years, so I got curious and asked the developer in charge back then.

Would you consider Erlang to be a proven language?

http://www.erlang.org/about

No.

You can't hire or rent devs that know Erlang without a multi-month search in most markets. This is a non-starter for most businesses.

Train them on Erlang yourself? Why? Any possible productivity benefits offered by Erlang over a more mainstream option are dwarfed by training and hiring costs.

Nobody gives a shit about hot code patching in real business systems; the telco switch architectures which demanded such features are basically bonkers and unnecessary in a packet-switched world.

Erlang != Elixir. They run on the same VM, and you can reference Erlang code in Elixir but that doesn't make them equally production ready.

Yes, I understand, I was just wondering if Erlang would be considered a "proven language".

From my (limited) Erlang experience, Erlang & Elixir have the same core functionality. Elixir has a "nicer" syntax (I prefer Erlang's syntax but most devs I've talked to like Elixir's).

So if Elixir isn't proven but the concurrency model & programming paradigms make sense, maybe Erlang is a good choice.

* WhatsApp Scaling to 1 Billion users in erlang: https://www.youtube.com/watch?v=c12cYAUTXXs * https://www.erlang-factory.com/upload/presentations/395/Erla...

"I was just wondering if Erlang would be considered a "proven language"."

Erlang is proven in production for server and telephony apps.

"From my (limited) Erlang experience, Erlang & Elixir have the same core functionality."

Depends on what you mean by 'core functionality'. If you mean the functionality provided by Beam VM or OTP, then there's a case to be made for that. However, the library ecosystem for Elixir is separate from the one for Erlang.

To use an alternate example, Java is definitely a 'production ready' language for enterprise software. However, if I write a new language for the JVM, it's not automatically 'production ready'. In most cases it's the library ecosystem which is under evaluation, not the platform the language runs on.

Just saying, but so far, there have been more critical bugs in erlang solved due to the Elixir community than Elixir critical bugs solved... so well...

Can you give some examples?

Erlang has been in use for decades, so yes. For many years, and possibly still true, nearly every phone call in the world went through Erlang code. Yes it's proven.

Actually not every call, and not even a majority of calls. And most of the erlang based software available in telecom world - is far from perfect.

As I remember WhatsApp did quite a heavy modification of Erlang/VM, i.e. not a typical/idiomatic Erlang use case I believe.

That sounds fascinating. Any sources?

I haven't watched but this would be a good guess https://www.youtube.com/watch?v=c12cYAUTXXs "Scaling with A B: Erlang and WhatsApp"

It was mentioned in one of their tech talks/slides, I don't remember exactly which one.

... except Clojure is used by prominent banks and it's all those things.

Clojure has been around longer and is generally more mature than Elixir. It also has a much much larger community.

Plus it's running on the JVM, which is already used and trusted by virtually everyone.

Is it? It seems to me that outside HN/reddit Clojure is not a thing actually - take a look e.g. at TIOBE index.

Coming from the banking industry, nobody looks at using unproven languages or frameworks unsupported by a large community or major vendor.

The 'banking industry' is huge. While what you say is true in many parts of the banking industry, I also know people in the banking industry for example who write and use an in-house DSL written Haskell for their day to day work.

An in-house DSL is madness and could only be achieved behind management's back. I hope the documentation is damn good. I bet they'll be over-paying the jokers who wrote it (as a form of job security!) for the next 20 years.

It's also worth noting that, VocaLink, one of the well-known payment systems company do use Erlang for their products. I have also seen that Visa/Mastercard has been looking for Erlang developers as well.

But Erlang and Elixir are not the same thing. Erlang is proven in a major way thanks to telecom industry. That they both use the same VM is not enough.

Erlang and Elixir are way more "the same thing" than, for example, Java and Clojure are. The summary that "they both run on the same VM" is very general and elides a lot of details.

Elixir, on the one hand, is a new library and tool ecosystem. It's hard to compare libraries, but tool-wise, Elixir wins simply because it has them. Erlang has been underdeveloped in this aspect for years and it's not changing very fast.

Syntax wise they are pretty different, but it's trivial to use Erlang libraries from Elixir (not as easy and not always possible the other way around) and there's not feel that they're designed with different principles or feel foreign. Moreover, some standard Elixir APIs are simply old Erlang libs dressed up in slightly better clothes.

On the other hand, it's just the syntax which differentiates Elixir (the language, not the ecosystem) and Erlang. Only the compiler frontend is new in Elixir, from a certain point (an Erlang abstract syntax tree) it's Erlang all the way down to the bytecode/VM-executable code level.

I'm not disagreeing. It was meant as a note that Erlang on the other hand is already being used in production environment in banking industry.

But Erlang has been in production use for decades. It's not a new language nor a fad.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.