Ruby on Rails, first impressions part 1
I am a Python/Django developer. So naturally, coming to Rails has been a, well interesting experience.
First impressions are not all bad. Rails has based its philosophy on "convention over configuration", which naturally means there's a lot of 'magic' that happens behind the scenes. That's fine. Until you run into an insurmountable and mysterious issue that suddenly makes the black box very difficult to troubleshoot. What fairy dust did I not sprinkle to keep the magic alive?
A few things I've run into so far.
Different versions of everything
This version of that doesn't work with that version of this, and to get this version to work with this, you have to use that version of this which doesn't work with that.
I call this 'version hell'.
This was most noticeable recently when different webpack versions had been released since the documentation I had been following was written, and that broke compatibility with other packages. Which reminds me of the issue of...
There is plenty of documentation on the web about learning Rails. The problem is, it's scattered through many years and versions. Just ran into this today, when a recent Stack Overflow post suggested I use `before_filter` in my application controller to enable me to accomplish a task. Problem is, Rails 5.1.5 has deprecated `before_filter`. The problem? The official Rails documentation online makes no mention at all of before_filter, just before_action, so I had no way to connect old documentation (which is still necessary to supplement the current official docs with examples) to the new "convention".
I really like Rails. It challenges my way of thinking about things, and makes me believe that "convention over configuration" can really be done well. There are so many ideas and concepts already baked into Rails that are really well thought out, and I look forward to continuing to learn how to be as efficient as possible with this framework.
Maybe this will be part 1. More later. Thoughts so far?