3 ms·
Elixir/Phoenix? Haskell? Erlang? F#? Crystal? I also don't agree with the fact that ruby is just like PHP.. for web backends.
by maz1b 1y ago
Elixir/Phoenix? Haskell? Erlang? F#? Crystal?
I also don't agree with the fact that ruby is just like PHP.. for web backends.
- notpushkin 1y agoElixir/Phoenix → web, various parallel processing stuff? Haskell → dunno, but it’s pretty cool Erlang → dunno again, maybe some low-level stuff for Elixir? F# → business apps for MS when you get sick from C# Crystal → web, I guess? Ruby is good for web, but it’s also useful when metaprogramming tricks work for you in your particular domain. Same with Python (it’s also insanely good for web!).
- rienbdj 1y agoF# is strictly better than C# if (huge if) you have a team that knows both languages.
- notpushkin 1y agoIt’s an important caveat, yeah!
- asplake 1y agoErlang → scalable real-time systems, eg telecoms
- notpushkin 1y agoYes, though could you perhaps use Elixir there as well? (Sorry, I’m still largely ignorant to this space, but would love to learn more!)
- pdimitar 1y agoElixir has a ton of really good libraries and a very active community. Erlang's is trying to catch up and they have my support as well but for the moment I find Elixir easier to deliver a full app to production.
- notpushkin 1y agoCan’t you use Elixir libraries in Erlang? https://elixir-lang.org/crash-course.html#adding-elixir-to-existing-erlang-programs https://elixir-lang.org/crash-course.html#adding-elixir-to-e... (and that being said, you can also use Erlang libraries in Elixir, so there’s a path for incremental adoption)
- pdimitar 1y agoYou mostly can use Elixir libraries in Erlang but due to how Elixir macros are done and their pervasiveness, the usefulness of that feature is effectively limited. F.ex. Phoenix and Ecto, both extremely prominent and important libraries in the ecosystem, make heavy use of macros due to their nature and feature-set. And they are unusable in Erlang code. Or at least that was the case some year ago. Haven't checked lately. I know there are ongoing efforts towards convergence.
- notpushkin 1y agoHmm, yeah, I think if you want to integrate Phoenix into an existing Erlang application, you’ll probably want to use Elixir as the “main” language and use existing Erlang code from the Elixir app. Or if you really need to run Phoenix inside Erlang, you could make a clean cut and write a portion of the app in Elixir, with an easy way to call it (e.g. start a server) from Erlang. Neither option allows you to use Phoenix without writing Elixir code, though. But since you’re integrating an Elixir lib, writing at least some glue code doesn’t seem like a big deal? (I’ve got to say that I’m not proficient at all neither in Erlang nor in Elixir – I’ve played around with both, but nothing serious.)
- simonmic 1y agoHaskell → High-assurance applications and prototyping/research.