Comment on What software stack would you have chosen for Lemmy?

<- View Parent
Dark_Arc@social.packetloss.gg ⁨1⁩ ⁨year⁩ ago

Rails is terrible. For something like Lemmy I’m confident it would just fall over (or require a much higher hosting burden). There’s way too much data to render and retrieve in a system like Lemmy, the caching systems for JSON shuck (hello jbuilder caching objects instead of json), Ruby performance is awful, there’s no mitigating factor to allow efficient blocking on IO bound requests (like coroutines or fibers), Ruby used a non-compacting garbage collector so it’s subject to heap fragmentation and wasting memory, there’s no static typing (or even type hinting), the Ruby ecosystem is built on Rails alone at this point (few if any libraries to make use of), the principle of “developer happiness” results in the need for tools like Rubocop to “resolve” invented problems WRT “how do you style X in a particular context” (among other things), and to top it off the framework makes doing the wrong thing easy and the right thing harder (Rails apps are so prone to N + 1 database queries).

It’s also a ridiculously hard thing to hire for because basically nobody teaches Ruby or Rails. There’s a very limited pool of Rails experts.

If some of that has changed I’d love to know, but after working in rails for ~3 years… I have no love for it.

source
Sort:hotnewtop