Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The fact that it's a dynamic language make problems similar to Node / Python, can't dev serious backend services without a strongly type language. Not saying you can't, but you will have a lot of issues overtime that would have been catch at compile time.


As long as you've got some kind of strong sanity checks at I/O boundaries and your language & related library ecosystem's not batshit insane (ahem) it can be fine.

It's when you have JavaScript (not even TypeScipt) sending and receiving JSON (not even bothering with JSON-Schema) to/from Node/Ruby/whatever, saving everything to a permissive document store or to some poorly-normalized RDBMS schema that's missing half the constraints it ought to have and has a few columns that aren't the most correct reasonable type, that you end up with a brittle and slowly-advancing pile of shit pretty reliably. "Let's do a Rails REST API with Mongo and a Javascript SPA & React Native clients!" = run far, far away.


Having used all three in backend systems, I definitely disagree that they have the same problems. Elixir is strongly typed but lacks static typing, in exchange it has a powerful pattern matching system that more than makes up for this problem in my experience.

But fundamentally the issues caused by lacking static typing is different from the problems caused by being weakly typed like python and node systems are.


Python is strongly typed. I fully believe that Elixir lacks the same problems, but not because of strong vs weak. If I had to guess, I would put think that it's because Python code is more likely to be mutable than Elixir, but that's just a guess.


In my experience python is strongly typed as well - unless you meant something more nuanced?


Compilers aren’t a panacea of avoiding problems in production. You just experience different types of problems.

There’s entire classes of short term and long term issues that you get to avoid by working within the BEAM.


The BEAM VM, whether using Elixir, Erlang, or another languages, has been successfully used to implement telecommunication switches, chat services (WhatsApp), and plenty of other "serious backend services."


I don't endorse the parent's perspective, but he was very clear that he wasn't saying it was impossible to build serious backend services, only that you will run into problems that you wouldn't with statically typed languages.


Elixir is a relatively strongly typed language, but it's not statically typed.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: