On the other hand I think pure languages, like Haskell, take it too far.
My ideal language would be something like Haskell + limited side effect support(for IO) + ecosystem of something like Python or Java or Golang.
On the other hand I think pure languages, like Haskell, take it too far.
My ideal language would be something like Haskell + limited side effect support(for IO) + ecosystem of something like Python or Java or Golang.
There is an argument for performance, but static typing really gets the performance benefit when you have fixed size data type arrays. Elixir has powerful bit and byte manipulation in the standard library for many such operations, and if you're really looking to do mathematical transformations of arrays and matrices, you shouldn't choose elixir.
> time assurances of correctness _in a majority of cases_
So basically, let's do it and pray it works, maybe?
I would consider Nim. Maybe the ecosystem is not there yet but they are getting many things right.
Even C++ has more tooling love than what F# currently has.
Anyone that wants to be sure their code will run in whatever platform Microsoft might think of supporting next, should not focus too much on it, unless the wind changes again.
I love ruby, and agree it's not perfect, but thats not what technical debt is. And blanket including all "OO patterns" in your equation, and never having really used ruby, leads me to believe you don't know what you're talking about.