All my new server-side code is in Go (where all my old code was in Elixir) because I wanted something I could build locally and deploy easier. The deployment story for elixir is... substantially worse than ideal, for, seemingly, no reason at all. At the time I was writing the deployment scripts, not only was the hot-code-replacement not going to work, even AOT compiling to .beam files was broken, with multiple 3rd party tools not helping.
Elixir seems to have better abstractions at building CRUD apps (and websockets) than Go. Are you building CRUD type apps? Have you writing lots of SQL vs using ecto to be painful?
Not exclusively CRUD apps, but some. I've not minded the DB work I've done so far, but I also don't mind SQL. Changesets are a smart API, but fundamentally aren't much different than normal SQL. Ecto is nicer for loading lots of joined data, but... eh. Hasn't bothered me not having it. So I'd be hesitant to say Elixir has lots of amazing APIs -- good, but not indispensable.
Comments
All my new server-side code is in Go (where all my old code was in Elixir) because I wanted something I could build locally and deploy easier. The deployment story for elixir is... substantially worse than ideal, for, seemingly, no reason at all. At the time I was writing the deployment scripts, not only was the hot-code-replacement not going to work, even AOT compiling to .beam files was broken, with multiple 3rd party tools not helping.
Elixir seems to have better abstractions at building CRUD apps (and websockets) than Go. Are you building CRUD type apps? Have you writing lots of SQL vs using ecto to be painful?
Not exclusively CRUD apps, but some. I've not minded the DB work I've done so far, but I also don't mind SQL. Changesets are a smart API, but fundamentally aren't much different than normal SQL. Ecto is nicer for loading lots of joined data, but... eh. Hasn't bothered me not having it. So I'd be hesitant to say Elixir has lots of amazing APIs -- good, but not indispensable.