I was disappointed the article didn't talk more about the mermaid. For anyone else like me interested in that, I found a high resolution version [1], transcribed the old-fashioned French and wrote a translation:
> 240. Monstre ſemblable à une Sirenne pris à la côte de l'isle de Borné ou Boeren dans le Departement d'Amboïne. Il étoit long de 59. pouces gros à proportion comme une Anguille. Il a vecu à terre dans une Cuve pleine d'eau quatre jours et ſept heures. Il pousſoit de temps en temps des petits cris comme ceux d'une Souris. Il ne voulut point manger, quoy qu'on luy offrit des petits poisſons, des coquillages, des Crabes, Ecrevisſes, etc. On trouva dans sa Cuve apres qu'il fut mort quelques excrements ſemblables à des crottes de chat.
> 240. Monster similar to a Siren [Mermaid] caught on the coast of the island of Borné or Boeren [I can't find these places in a modern dictionary. Maybe Borneo?] in the Department of Amboine. In length it was 59 inches and in size had the proportions of an eel. It survived on land [i.e. after it was caught] in a tank full of water for four days and seven hours. It made small cries like those of a mouse from time to time. It did not want to eat, whatever anyone offered it: small fish, shellfish [the French word refers only to molluscs], crabs, crayfish, etc. Several pieces of excrement similar a cat's were found in its tank after it had died.
I work for a Ruby on Rails shop and we used Elixir for two projects about a year or two ago when
it was getting a lot of good press.
The first project was an API that was intended to serve as a middleman between a few legacy services.
Basically the company that hired us was building a new JSON API but didn't want to rewrite all their old code
and our job was to consume the output from their ugly legacy APIs and produce nice JSON.
Elixir/Phoenix worked for the first service, but after that we ran into problem after problem.
One of the legacy services used HMAC authentication and Phoenix (at the time?) didn't really support that. We were eventually able to hack around it without too much pain.
Another service used XML and we had a lot of trouble finding XML libraries.
There were some but nothing remotely as nice as Nokogiri.
While all of this was happening, adding to our frustrations, a new version of Phoenix was released with a lot of changes. The only documentation for how to migrate an existing app was a typo laden GitHub Gist by the author of Phoenix.
The final straw was when we got a call from the client about another service we had to integrate.
This one used JSON but the order of the keys was important
(please for the love of whatever god you believe in never do this).
When we had to decide whether to write a custom JSON parser or move to Ruby, we rewrote the thing in Rails.
The second project was already a few thousand lines of code when we started working on it.
It was a dumpster fire of a project but the devs who built it praised Elixir to the skies
and said it was way better than their old Rails version. So take that for what it's worth.
We've decided not to do any new projects in Elixir for now but we're leaving it open for the future.
It is a nice language to work with and, as you can see from the other comments, there are some projects where it shines.
I have two suggestions for you:
1. Talk to people in real life about Elixir/Phoenix.
Most other devs I talk to in person at other agencies that tried Elixir have (surprisingly) neutral or slightly negative feelings about Elixir/Phoenix.
Some percentage of people on Hacker News absolutely love Elixir (and often hate Ruby/Rails) and they usually flood the comment section of any Elixir article.
2. If you don't fully know the problem domain, use something with good library support.
I don't know what your project is, but if you control the front and back ends or if you know exactly what features
you'll need, there will probably be no problems choosing Elixir. Plus, it's always fun to learn something new.
If your project is "some kind of API that needs to do X and maybe some other things we don't know yet"
I would stick with Rails (or Python/Java/something with a lot of libraries).
The worst place to be is not being able to do something simple because of a lack of library support
and having to explain to your client/manager/coworker that it's because you read on Hacker News that writing "a |> b" instead of "a.b" is the future.
> 240. Monstre ſemblable à une Sirenne pris à la côte de l'isle de Borné ou Boeren dans le Departement d'Amboïne. Il étoit long de 59. pouces gros à proportion comme une Anguille. Il a vecu à terre dans une Cuve pleine d'eau quatre jours et ſept heures. Il pousſoit de temps en temps des petits cris comme ceux d'une Souris. Il ne voulut point manger, quoy qu'on luy offrit des petits poisſons, des coquillages, des Crabes, Ecrevisſes, etc. On trouva dans sa Cuve apres qu'il fut mort quelques excrements ſemblables à des crottes de chat.
> 240. Monster similar to a Siren [Mermaid] caught on the coast of the island of Borné or Boeren [I can't find these places in a modern dictionary. Maybe Borneo?] in the Department of Amboine. In length it was 59 inches and in size had the proportions of an eel. It survived on land [i.e. after it was caught] in a tank full of water for four days and seven hours. It made small cries like those of a mouse from time to time. It did not want to eat, whatever anyone offered it: small fish, shellfish [the French word refers only to molluscs], crabs, crayfish, etc. Several pieces of excrement similar a cat's were found in its tank after it had died.
1. https://www.biodiversitylibrary.org/page/50095192#page/220/m...