4 ms·
Phoenix/LiveView must be really good if people are learning not one but two niche languages (Elixir and Erlang) just to use it. I wonder if the framework is pa
by rjh29 3y ago
Phoenix/LiveView must be really good if people are learning not one but two niche languages (Elixir and Erlang) just to use it.
I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up.
edit: and yes I know WhatsApp was/is written in Erlang, just to save you commenting.
- rkangel 3y ago> I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up. My understanding of the origin of Phoenix is that Chris McCord tried to create something like LiveView in Ruby, but the concurrency system didn't support the vision he had for how it would work. He cast around a bit, discovered Elixir and create Phoenix and then LiveView. The concurrency story in other languages is improving over time, but they're still trying to catch up with what Erlang was doing in the 80s. Building complicated applications on top of the BEAM and OTP is a joy compared to any other system that I've used. You learn a few simple approaches, and many things you've had to think about just go completely away.
- iudqnolq 3y ago> learning not one but two niche languages You need to learn Elixir. Learning Erlang isn't going to be particularly helpful. > I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up. Blazor (C#) and StimulusReflex (Ruby) are the ones that immediately pop into my head.
- arrowsmith 3y agoYou don't need to know Erlang to use Phoenix or LiveView.
- deofoo 3y agoFirst, it is really good. Second, you only need to learn Elixir, no need for any Erlang knowledge.
- yurishimo 3y agoThis is true, but I would add an asterisk. While not knowing Erlang is not a hard requirement, eventually, you will greatly benefit from being able to read and write some basic Erlang. That said, learning Elixir first will at least get you in the right mindset, and then Erlang becomes an easy lesson in syntax.
- sph 3y ago> I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up. All programming languages are Turing-complete thus compatible. So you shan't need much more than Brainfuck. But if you consider all the benefits the language and the platform it sits on (the BEAM) provides, no, you cannot do Live View as easily and comfortably than you can do on Elixir. Because its model is strongly tied to lightweight processes, message passing, mailboxes and pattern matching. You can implement Live View in assembly or Python or Rust, but it's not going to be very quite as ergonomic and productive. Also, you don't need to know Erlang to be productive in Elixir, but knowing the Erlang ecosystem (i.e. OTP) is going to pay dividends, since it's very powerful and at your fingertips from the Ruby-like comfort of Elixir.
- bryanrasmussen 3y ago>All programming languages are Turing-complete thus compatible. So you shan't need much more than Brainfuck. XSL-T 1.0 is Turing complete but you can't really write a C compiler in it - despite what some people may have been heard to claim at various XML conferences in 2000 - because what matters in most things is what rights and accesses the language offers you and XSL-T 1.0 does not give you the possibility of loading in non-XML files.
- sph 3y agoFine, you shan't need more than an assembler for your CPU architecture.
- clessg 3y ago> You can implement Live View in assembly I would love to see this.
- krnsi 3y agoHere you go – a list of LiveView workalikes: https://github.com/liveviews/liveviews https://github.com/liveviews/liveviews
- rapnie 3y agoThe list is seeking a maintainer. https://github.com/liveviews/liveviews/issues/23 https://github.com/liveviews/liveviews/issues/23
- victorbjorklund 3y agoYou really don't need to learn Erlang. Would it help to understand some of the deeper stuff in some libraries or the beam itself? Sure, but then you could argue you need to learn Javascript and C to use Node because a lot of low-level stuff in node is C. Will it help to become a better Node dev? Probably doesn't hurt but you def don't need to learn C to work with Node.
- pmarreck 3y agoWhen you learn Elixir, you basically also learn Erlang semantics, with only the syntactic details to work out later. Plus you get a few extra perks, like macros.
- sodapopcan 3y ago> I wonder if the framework is particularly tied to Elixir or if it could be done in a more popular language so more people will take it up. As others have pointed out there already are lots (missing at present are LiveWire and there is even a LiveView.js that uses the same JS that Phoenix LiveView uses... it's a very unfortunate name). Having said that, most of these implementations aren't "live" in the same way you get with the Erlang virtual machine where each user has a dedicated process. It's at least possible in Go, but most of these other implementations resort to AJAX and the like.