I wrote a similar article for Pythonistas: https://joyyo.app/elixir-for-humans-who-know-python
Nothing personal but I hate blog posts without a date of publication of said post.
https://web.archive.org/web/20230000000000*/https://phoenixo...
31–40 of 78 posts
I wrote a similar article for Pythonistas: https://joyyo.app/elixir-for-humans-who-know-python
Nothing personal but I hate blog posts without a date of publication of said post.
https://web.archive.org/web/20230000000000*/https://phoenixo...
However many Class.method names in Ruby's standard library have a match as Module.function in Elixir, by design, to ease the migration of developers. Language developers take note, copy from the language you want to lure developers from.
I love Elixir, Phoenix and LiveView. A drawback is the size of the community, and as a function of that, availability of libraries for various things. It is not bad. It is also not great. That said, the community itself deserves high marks for their willingness to help and do so in a friendly manner.
The article section about interpreted vs compiled is incorrect. .exs files are compiled just like .ex files are. The only difference between `elixirc` and `elixir` is that the former creates an artifact on disk, and the latter does not. See https://medium.com/@fxn/how-does-elixir-compile-execute-code... . Also, Ruby is as compiled as Elixir is. Compiled vs interpreted is blurred the moment you compile to bytecode run…
So if you had different behavior for ex and exs that would cause developer confusion.
I love Elixir, Phoenix and LiveView. A drawback is the size of the community, and as a function of that, availability of libraries for various things. It is not bad. It is also not great. That said, the community itself deserves high marks for their willingness to help and do so in a friendly manner.
I worked on a Phoenix project for a few years. We had to write our own libraries to access some services from Google and Stripe which have libraries for other languages but it was not difficult. We have to implement only the few HTTP calls we need and we can choose the functions that suit our application instead of learning somebody's else tool.
The other day I used this to create an Elixir wrapper around, appropriately enough, the OpenAI API.
But I have been free because the company was broken. I really want to keep writing Elixir, are there any remote job opportunities here?
P.S. I also have some experience of React/Nextjs, Ruby and Scala.
Earlier quoted context omitted.
> A common elixir answer to "where are all the blog posts" is "read the docs. No, seriously." This is indeed very common the forums, ha. Also common is for people to actually then go read the docs and be like, "Oh crazy, I'm not used to this!" Not to over-sell the quality of the docs, of course they aren't perfect but they really are particularly good.
As a convenient side effect, GPT-4 is actually quite good at coding in Elixir. I tasked it once to find a bug in an Ecto query and it even improved the query‘s structure. I‘d been worried that, as a small-ish language, Elixir would suffer from bad LLM support, but that’s not the case.
That said, with Ecto I just ask it to give me the SQL query. From there it’s pretty easy to manually write the Ecto equivalent.
The article section about interpreted vs compiled is incorrect. .exs files are compiled just like .ex files are. The only difference between `elixirc` and `elixir` is that the former creates an artifact on disk, and the latter does not. See https://medium.com/@fxn/how-does-elixir-compile-execute-code... . Also, Ruby is as compiled as Elixir is. Compiled vs interpreted is blurred the moment you compile to bytecode run…
This is a good point because in elixir metaprogramming you can actually have some things happen at compile time. The frameworks use this for performance in a few places. So if you had different behavior for ex and exs that would cause developer confusion.
And it would be the same as in another language if you run a program that has no side effects. For instance "python abc.py" will gladly run a abc.py that is empty or has "class ABC: pass" in it.
The article section about interpreted vs compiled is incorrect. .exs files are compiled just like .ex files are. The only difference between `elixirc` and `elixir` is that the former creates an artifact on disk, and the latter does not. See https://medium.com/@fxn/how-does-elixir-compile-execute-code... . Also, Ruby is as compiled as Elixir is. Compiled vs interpreted is blurred the moment you compile to bytecode run…
This leads to differences such as Ruby meta-programming happening at runtime, Elixir’s at compile time. The Elixir compiler (the Erlang compiler really) can also afford to do more work at compile-time which then leads to different approaches at the JIT level too.