Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've seen a lot of other framework/library developers throw the phrase 'we write opinionated software' around, but in practical terms, what does that really mean? Does it mean that the author of the 'Opinionated Framework X' says that because they write code a certain way, you should be writing the same type of code that they write?

Isn't that a bit pretentious?

share|improve this question
See this answer: – rmx Oct 15 '10 at 14:52
up vote 20 down vote accepted

The framework imposes a certain way of working on you. Put another way, there's clearly one right way of using the framework which is nice and easy, and any other way of using the framework makes your life difficult.

I'm no Rails expert, but I'm told that it's opinionated because it's awesome for simple CRUD stuff, but when you try deviate from the "Rails way" things get tough. (This isn't necessarily a bad thing; I don't mean it as criticism.)

share|improve this answer
Seems like a misuse of the word 'opinionated' in that case. Maybe 'narrow' or 'targetted' would be more fitting. Either way, software can't literally be opinionated... maybe in the future but not now :p – rmx Oct 15 '10 at 14:52
Yes. It's decidedly anthropomorphic. But then, code also can't have a scent, but that doesn't stop us talking about code smells either! – Frank Shearar Oct 15 '10 at 15:20
I think anytime you use a framework you will certainly experience consequences of the frameworks way of doing things. Not saying this is good or bad but I think inevitable by using a framework. – Chris Jan 5 '12 at 14:56
@Chris: The same is true, to a lesser extent, of languages. Some approaches will be more or less difficult in different languages. – David Thornley Jan 5 '12 at 17:15
And in both cases "opinionated" doesn't mean "it's mildly easier to do it this way"; it means "I will make you suffer until you do things this way". Haskell has an opinion about being lazy, for example. – Frank Shearar Jan 5 '12 at 20:43

The framework is saying "I know the one true way to do this thing, and I'll fight you if you try it any other way". Opinionated.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.