top | item 41250420

(no title)

coffeecloud | 1 year ago

Read through the Rails docs and you'll learn all the "magic" is pretty easily explainable, mostly just predefined naming conventions and directory structures and a bunch of preconfigured gems.

discuss

order

tenacious_tuna|1 year ago

I keep having this discussion with people, including coworkers (my current org is a rails shop).

The thing that drives me nuts about Rails is that the conventions I learned everywhere else break down. There's no goto-definition that works in any sane way, I'm left `ag`ing through the codebase for `def whatever`. The amount of stuff I have to keep in my head to understand what any given object is doing (due to magic) is nuts and exhausting at times.

The general impression I get from Rails and Ruby is a desire to be lexographically terse: fewer characters on screen per unit of business logic. On the one hand, you can fit a lot of code in view at once, which has it's benefits. On the other hand, you're sacrificing explicit data for that terseness, and you have to fall back to holding state in your head.

Without a doubt, Rails is powerful, and there's a lot I've loved about working in the ecosystem, but there's very significant tradeoffs to doing things the Rails way.

coffeecloud|1 year ago

Oh I found the goto-definition works pretty well in RubyMine.

I would imagine goto-definition not working well to be more an issue with Ruby being a dynamically typed language and having metaprogramming features like define_method, not the framework. (FWIW I really dislike Ruby despite really liking Rails)

SkyPuncher|1 year ago

I love Rails, but the magic is often too much for me.

My many complaint is convention is soft. It has edge cases, divergent thinking, it has unplanned detours. This is especially true in a fast moving environment. I would much prefer that the magic wasn’t so opaque.

For me, 99% Rails is by far my fastest productivity tool. However, that 1% of the time it just sucks.