Hacker News new | ask | show | jobs
by web007 2627 days ago
I can speak to the RoR dread side, as someone who is now in Django-land coming from RoR.

RoR is ridiculously opinionated. If you don't know The Ruby Way then you'll be fighting the framework for every inch of productivity. It also has a lot more magic than any other framework I've ever used. It hides so much of what it does behind abstractions on top of abstractions that it's hard to do a simple thing and understand what's happening. (This ignores the fact that Ruby is Perl in better clothes, both a huge strength and weakness, depending on your past experience.)

Django is better in that it's slightly more obvious what's happening and why. It still has some magic to it, but not to the same extent. You can also do whatever you want, and it'll be a little harder or a little easier, but it doesn't fight you nearly as hard if you're not doing things The Django Way.

I think if you're a RoR dev and know RoR and like how it works then you're golden - stick with it and be productive. If you don't drink the kool-aid then you're not going to be happy.

2 comments

Over the years I've ramped a couple dozen engineers onto Rails. The very first thing I have them do is follow the full rails tutorial front to back, no matter how many years of experience they have. It usually takes a day or so.

I've found that after doing that, people (1) get it easily, (2) don't feel it's "magical", and (3) enjoy the environment.

Conversely, SENIOR engineers on other teams who did not go through this process often express sentiments like you did. At this point I can pretty much guarantee the people who are salty about Rails are people who don't normally need to read the manual. They didn't read the Rails manual, and they're confused, and they're not used to being confused, and so they get grumpy and bitter about that over time.

Personally, I like Rails. But I do think that the "convention over configuration" approach has this major tradeoff - you really shouldn't just dive in and figure it out, you should read the manual first. And I get it why some people don't like that and don't think it should be necessary.

So yeah, it's opinionated, and thus it's polarizing.

I have learn Rails and Ruby some years ago with only Mickael Harl Tutorial. It was better than learn Python/Django at the same time.

Python popularity is rised thanks to academic . But it is not the better programming langage so far.