Things I Like Right Now
Mountainside Baroque
Django Python web framework
Schilke 4-valve G/F/E trumpet
ember.js Javascript framework
Frasier
XFINITY Mobile (yes I actually like a comcast product)

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...

 

Documentation

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".

 

The Good

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?

Comments

Comment:

Add a comment



Back

Recent articles:

Ruby on Rails, first impressions part 1

Vue.js Gotchas