5 ms·
Who even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done. I don't understand Phoenix hype For solo devs, R
by faangguyindia 5mo ago
Who even uses Erlang? I used Rails and then i tried Phoenix and it was lot more difficult to get things done.
I don't understand Phoenix hype
For solo devs, Rails is arguably most productive webapp system. LLM is very good at writing ruby rails code. Much better than writing django in my experience even though python training corpus is huge.
I write my experimental apps in Rail when it stabilizes, i do a Go rewrite.
I don't write directly in Go because, it consumes lot more token when the app scope is unknown but it's very efficient for rails.
These day i don't need react or angular anymore, i use Hotwire in Rails and HTMX in Go.
Erlang forum itself uses Discourse (written in Rails)
- tommica 5mo agoErlang != Elixir - but otherwise a good question. I think WhatsApp uses erlang
- sph 5mo agoI’ve been writing Elixir apps full time since 2016. Clients are very, very happy never to see a crash. In fact, all the applications I have deployed in production in the past 10 years have 100% uptime. (Apart from hardware, OS and network faults outside my control) You might want to broaden your horizons.
- signa11 5mo agohello, would you please recommend a good resource to get started with elixir ? thanks for your time !
- cpursley 5mo agoThis is a good place to start: https://elixirisallyouneed.dev/resources https://elixirisallyouneed.dev/resources
- sph 5mo agoThis is a good list. I started with the books by Saša Jurić (they are excellent), and the Programming Phoenix LiveView is a must have if you want to do anything web-related. If you're on the fence, this'll convince you: https://www.youtube.com/watch?v=JvBT4XBdoUE https://www.youtube.com/watch?v=JvBT4XBdoUE
- out_of_protocol 5mo agoI'd say Rails is faster than Phoenix (as in development speed) only for the first day or so. After that you'll stumble upon impicit logic, method-missing and this kind of stuff, which will require more time to figure out how it works. Elixi/Phoenix is more exlicit in that regard, making long-term support (as in anything past first week) a breeze. No hidden state, no figuring out where ModuleName.method(params) is coming from, no need to setup stuff to launch said method (just pass right arguments). The only downside i see is smaller library of ready to use packages
- faangguyindia 5mo agobut if you want explicit any not just use django?
- out_of_protocol 5mo agoDjango is not very different than Rails and imo much less ergonomic. Many issues are still there like hidden state/setup needed to call something
- faangguyindia 5mo agodjango requires more boilerplate and is less magic than rails.
- relistan 5mo agoElixir and Phoenix is a better production platform than Django.. I’m not throwing shade on Django, many production systems use it happily. I’m saying that Phoenix/Elixir is better, partly because of the BEAM and OTP and partly because of the language and the framework. Real concurrency. Better performance. Far more robust in production. The language is pre-compiled, and while not statically typed, that alone provides one more safety layer. It’s functional, which avoids a lot of the ugly patterns in both Rails and Django. It has a built-in fast and reliable KV store. It has distribution between the nodes if you want it (e.g. for a distributed cache). It enables you to debug with a remote shell connected live to the running system. There’s a lot more than I can add here.
- ellbee 5mo agoWould you like to take a guess what the Ruby Discord uses?
- pmontra 5mo agoI used both Rails and Phoenix. ActiveRecord is more pleasant to work with than the ORM of Phoenix IMHO, but not everyone shares the same feeling. Despite having built in concurrency my team ended up building a version of Sidekiq because supervisors don't cover all use cases of job control. I prefer deploying with Capistrano than with Elixir builds. Another matter of taste. Structural pattern matching is the only feature I dearly miss, but that's a feature of the language. We never used Liveview. We had a backend for a JSON API so I can't compare that feature.
- out_of_protocol 5mo ago> ActiveRecord is more pleasant to work with than the ORM of Phoenix IMHO, but not everyone shares the same feeling. Well, depends on what you do. Ecto is closely follows SQL logic and allows to translate weird sql queries into code directly. All queries are explicit, e.g. you either do preload(...) or can't access nested records at all, no chance of N+1 by design. Changesets are also different and are just functions you can define as needed. defmodule MyApp.User do ... def changeset(user, attrs) do user |> cast(attrs, [:email]) |> validate_required([:email]) # This matches the error from the DB uniq index to the :email field |> unique_constraint(:email) end
- hparadiz 5mo agoIt's fun watching other languages orms be 10 years behind in design. Your example is a common anti pattern from PHP orms 15 years ago.
- worthless-trash 5mo agoCould be wrong, but i dont think thats an orm.
- out_of_protocol 5mo ago1) that's not an ORM 2) after ~8 years of using it, i find it ergonomic, light on congitive load and good for long term support
- conradfr 5mo agoPhoenix is mostly interesting because of OTP and channels (and LiveView I guess but it's not a choice I would make in 2026) so if you don't need what they bring... Ecto is not bad as well. Claude Code is very good at writing Elixir. Surprise, you'll be more productive with what you know, LLM or not.
- blandflakes 5mo agoIs your disinterest in LiveView because you'd prefer the more common SPA/API separation, or some other reason? I'm curious because as a mostly backend engineer I view LiveView as sort of a killer tool for the sorts of apps or tools I'm likely to build.
- jfim 5mo agoNot the parent, but since the liveview state is on the server side it means that one server can't support a large number of concurrent sessions, for some value of large.
- conradfr 5mo agoI just strongly dislike the layout engine ;) Also yeah deployment with active socket connections is not always ideal. Not writing api routes for the frontend (when you don't also have a mobile app etc) is nice though, and pairing it with PubSub for UI updates is a cool trick.
- deleted 5mo ago[deleted]
- Alifatisk 5mo agoI write Rails aswell but comparing Rails with Erlang is kinda weird, they are for completely different domains. Both can co-exist in this world. These are only tools, not a cult or part of personality.
- solid_fuel 5mo ago> I don't write directly in Go because, it consumes lot more token when the app scope is unknown but it's very efficient for rails. The absolute irony of writing this whole ramble and then revealing that you're not even the one writing the code.