3 ms·
I agree with you. I had the post a bit longer but I cut it down a bit before publishing and it discussed some points you mentioned. People had reasons to call
by josevalim 16y ago
I agree with you. I had the post a bit longer but I cut it down a bit before publishing and it discussed some points you mentioned.
People had reasons to call Rails as something "magic" some time ago. But "magic" at that time really translated to poor design and lack of documentation.
Most of Rails has changed since then. Rails has good documentation for already some time, the internals are cleaner than ever before and should continue improving (for example, check Aaron Patterson's work on Active Record for Rails 3.1). But people still call it magic, because it became an habit.
Even simpler and smaller things in Rails, like the "find_by_email" method in Active Record that relies on Ruby's method_missing, were for a long time called as "magic finders".
Another proof of that habit was my take on Inherited Resources. The code is clean, modular, well-tested since day one, but I still stamped "magic" on the README when I first released it because it sounded cool. This is the mistake I want to prevent people from doing it all over again.
Maybe a better moto would be: "There is not such thing as magic, only bad and poorly-documented code."