3 ms·
Rails made me more confused than Spring did. The amount of magic makes it really hard to reason about what's going on.
by theflyinghorse 3y ago
Rails made me more confused than Spring did. The amount of magic makes it really hard to reason about what's going on.
- alex_lav 3y agoIME you’re either a Rails Person or you’re not, and it’s hard to make either group understand why the other likes it. I also couldn’t understand why people would be okay with so much being hidden from them, or made in a way that removed the ability to reason about it externally, but my Rails colleagues just liked it and didn’t understand why I’d care. Different strokes I guess.
- shortcake27 3y agoIf you know what Rails is doing then it isn’t hard to reason about. This comes with time/experience & reading Rails source. Magic is a beautiful term for what Rails does, because just like a magician’s tricks, it’s possible to have a full understanding of what’s going on. It’s not as if Rails acts randomly.
- alex_lav 3y agoYes, that’s why I also wrote about the ability to reason about what it’s doing. You don’t have to search for a magician’s tricks if the intention is for you to be able to infer or intuit what they’re doing. It’s magic when the only way to know is to be told. Which is, to me, a nonstarter for software.
- bigtunacan 3y agoRails has always been fully open source. If you didn't understand something you simply looked at the Rails source code. At the time it came out most people were using .NET or Java which were largely closed source and PHP which was open source, but there were no real frameworks at that time. CodeIgniter and Cake came out in the couple of years following and were both immature in comparison.
- alex_lav 3y ago> If you didn't understand something you simply looked at the Rails source code. Okay, but what if instead a library was designed to be more reasonable and intuitive, such that you didn't need to dig through its source to understand what you needed? This is the problem with "magic". > most people were using .NET or Java which were largely closed source and PHP These are programming languages. Rails is a web framework.