Having worked with Erlang for few years. I still don't understand the new hype behind it.
Ok, the Beam VM have a lot of good ideas. But I think that API of OTP and the language itself do not help to make concise and maintainable code.
And you're pretty much on your own about tooling. I really think that even if you can achieve good performance/scalability in theory, in practice your team become less productive.
Other OTP based languages have different standards for API consistency, developer comfort, and documentation, and generally feel 'more modern' in those respects. That's probably where the hype is coming from.
Was that a long time ago? The tooling has improved massively after Elixir and Hex appeared. The upcoming “Adopting Erlang” book goes into that history a bit:
I think it's about Elixir. Personally I won't start a web project with Erlang: it's too hard to read and to write, it makes me feel like I'm still in the 80s (it's when I started coding.) Elixir is almost 1:1 with Erlang and I'm much more comfortable with it.
I can't say much about tooling because I never really worked with Erlang, only some toy programs. Elixir's tooling seems to be on par with what I'm using for Ruby, JavaScript and Python.
It's better than those. I can write an integraion test that leaves the vm via http request a comes back in and the http handler only views a shard of the shared state of the system associated with that particular test. That's a concurrent integration test. You can't really do that reliably without the BEAM.
Thanks to Elixirs macros, the code for this subsystem is about 75 lines of code and in order to use it in a group of tests it's a single "use" statement at the head of the test, and the hooks inside of the main part of the code are compiled to no-ops in prod.
It looks to be using Wordpress (at least for the front end code, and why would you only use WP for that?). I see lots of references to Visual Composer.
As an Elixir enthusiast I would say, if you prefer Erlang to Elixir or is more experienced with it and will be building web stuff Elixir is one more dependency which could br avoided.
I like Elixir. Not all Erlangers do.
Also, this mentions being something of a CMS. Phoenix is not that.
Web frameworks are something where the one objective advantage of Elixir over Erlang really shines: macros.
Phoenix uses macros very effectively to reduce the sort of boilerplate that is common in Web frameworks. Macros aren't the solutions to all problems, but in this case they're great.
I really love Elixir as a language. Phoenix looks nice from a distance, but I found it to be very ugly and messy when you get down to the nitty-gritty. I wrote a personal project in Phoenix but I'm thinking of translating it, because I really want to wash my hands of that framework forever.
Just the general feeling of having to constantly dig through the documentation trying to suss out unintuitive things that would be easy in other frameworks. And poor (imo) naming conventions. And a lot of other little annoyances. No one specific thing as much the feeling of death by a thousands cuts.
This quickly draws away from the original subject, but this video is awesome. It directly points to some of the causes that make modern and corporate life so dull and lame.
> You can't disable jQuery. Zotonic will not work without it. Sorry... :-)
I don't want to get into the same old argument about using jquery in 2019, but yikes. There are certain kinds of frontends that are a nightmare to build in jQuery
27 comments
[ 3.4 ms ] story [ 80.9 ms ] threadOther OTP based languages have different standards for API consistency, developer comfort, and documentation, and generally feel 'more modern' in those respects. That's probably where the hype is coming from.
http://lfe.io/
https://adoptingerlang.org/docs/development/dependencies/
I can't say much about tooling because I never really worked with Erlang, only some toy programs. Elixir's tooling seems to be on par with what I'm using for Ruby, JavaScript and Python.
Thanks to Elixirs macros, the code for this subsystem is about 75 lines of code and in order to use it in a group of tests it's a single "use" statement at the head of the test, and the hooks inside of the main part of the code are compiled to no-ops in prod.
https://verafin.com/
Lots of Java, JavaScript, AWS, Linux, etc.
I like Elixir. Not all Erlangers do.
Also, this mentions being something of a CMS. Phoenix is not that.
That said, I wish it were in Elixir. Has some nice features, but would probably get more adoption if it were in Elixir.
Phoenix uses macros very effectively to reduce the sort of boilerplate that is common in Web frameworks. Macros aren't the solutions to all problems, but in this case they're great.
https://youtu.be/AIxY_Y9TGWI
I also like the old telephone, which I believe is a reference to one of the old introductory videos to Erlang.
I don't want to get into the same old argument about using jquery in 2019, but yikes. There are certain kinds of frontends that are a nightmare to build in jQuery