I absolutely adore .NET for backend development. It's fast, and while C# might be a little syntactically verbose but that doesn't bother me, the language has made great strides over the years to reduce verbosity.
While I haven't used other ORMs in many moons, Microsoft's Entity Framework coupled with LINQ is soooooo freaking nice to use.
For frontend work, I'm still manually writing boring, vanilla JS, and it's honestly not bad for average CRUD apps. Though, I have been exploring various frontend libraries, and I haven't found one I absolutely adore yet. Hated Angular, React is tolerable (never tried Next.js), HTMX provided little over vanilla JS, and so on.
I have not tried Elixir, but in your opinion, what do you think makes it so great?
What is great with Elixir is that, it is so simple and non-bloated.
The BEAM (the Erlang/Elixir etc. VM) is a kind of operating system for the language, a kind of framework, that makes simple but profound choices.
The simplicity make it extremely powerful: everything is immutable, functional paradigm everywhere, everything is isolated in process and hierarchy of process, reliability is top-notch, async is best-in-class.
This is the most logical, non-bloated and expressive language I have ever used.
On top of that, main libraries are awesome: Ecto (ORM and forms) is just awesome, Phoenix + Liveview is awesome, Req (for HTTP request) is great, Livebook (for prototyping) is great, etc. By the way, do you know that Ecto (made by José Valim himself IIRC) takes inspiration from LINQ?
I'm doing "classic" web stuff, if those libraries weren't there in my case, I would not be using Elixir I don't have scale problem or else - I would love to dive into clustering etc. because it's also "battery-included".
In fact, what makes Elixir great is the root choices and root libs, are great (powerful and simple).
The only problem I see:
- lack of adoption which implies sometimes missing lib (but you can interface w/ other languages like rust or whatever)
- lack of types make it prone to some bugs (typically atom - akin to keywords - comparison) and also editor inference is less powerful - but it is coming
- tooling could be faster
But really: simplicity + expressivity
As a side note for me the problem I see w/ C#: mainly is because of Micro$oft (i have ethical concerns) and also "larger" in a more bloated to me (hard to beat Elixir). But otherwise it seems great
I used to develop in OOP (C++, C#, Java) for 15 years and I know what I am talking about: just try to read Elixir/Phoenix project and come back here with your impressions.
While I haven't used other ORMs in many moons, Microsoft's Entity Framework coupled with LINQ is soooooo freaking nice to use.
For frontend work, I'm still manually writing boring, vanilla JS, and it's honestly not bad for average CRUD apps. Though, I have been exploring various frontend libraries, and I haven't found one I absolutely adore yet. Hated Angular, React is tolerable (never tried Next.js), HTMX provided little over vanilla JS, and so on.
I have not tried Elixir, but in your opinion, what do you think makes it so great?