The let it crash philosophy allows you to ignore most corner cases with the knowledge that, if they are encountered or a cosmic ray flips a bit, the crash is localised to a single client. I have worked with Elixir almost a decade at this point, and I have never seen an unexpected downtime of the apps I deployed. Aside of maintenance and updates, they all have 100% uptime. How cool is that?
This is how I sell it to clients. “Will you be using Python, Go?” Me: “What about Elixir and the promise that your service won’t ever crash? And you get cool dashboards with it.” Them: “Sold.”
I wish there was a systems language that allows you to pattern match on structs and enums, and in function signatures like Elixir
This is such a dangerous take. Also Elixir is not strongly typed, so...
And Elixir is strongly typed by most definitions. Perhaps you mean static?
The fact that you recall a single instance of crashing software says a lot about the quality assurance of the BEAM.
[1] https://docs.inko-lang.org/manual/latest/getting-started/pat...