|
|
|
|
|
by kailuowang
4728 days ago
|
|
I started to notice a similar mindset between the groups of people who advocate for Rails and Ember.js. They tend to be more opinionated and very proud of the technology choice they made. I have nothing against it, it's just intriguing. |
|
What I learned from doing it that way is that there's a level of process abstraction which is higher than "best practices" but lower than pure CS theory. It's the level at which documents like 12factor.net are. The best word I've found that describes it is "opinionated". You want software that's opinionated enough to drive design decisions but not so much that it dictates them.
People are very proud of this sort of understanding because it is hard-won. When you look at 12factor.net, if you haven't been developing for awhile, you might not understand just how useful a document it is. You might be thinking top-down rather than bottom-up. But if you're like me, you've seen lots of anti-patterns in the things you've built and long for a way to get them out of your apps.
That's where frameworks come in. They make decisions for you that cut back on those anti-patterns. Very useful if that's what you're looking for. When I first started building, I found Rails to be too much bloat, too complex, so I used Sinatra. Now I have a large project that I'm finishing up, and I wish now I'd used Rails. You can build an opinionated Sinatra app, but why when you could just use Rails?
You don't think you need someone else to make decisions for you, until you do.