This quote by Joel Spolsky resonated with me:
Which is better, XUL, Eclipse's SWT, or wxWindows? I don't know. They are all such huge worlds that I couldn't really evaluate them and tell. It's not enough to read the tutorials. You have to sweat and bleed with the thing for a year or two before you really know it's good enough... Unfortunately, for most projects, you have to decide on which world to use before you can write the first line of code, which is precisely the moment when you have the least information.
I'm enough of a perfectionist that I hate the thought of picking a framework for a new project without complete knowledge of what the best choice is, but the fact is that, as Joel says, there's no (practical) way to have complete knowledge of what the best choice is.
Right now I'm trying to pick a web framework. Right now, based on our target platforms and my judgment of various languages, I'd pick Python over Ruby, C# / ASP.NET, or Java / J2EE. Of the available Python frameworks, based on this SO question, I'd pick Pylons over Django. (Our intended projects are somewhat specialized, not content-related, so Pylons' flexibility sounds better than Django's CMS support and built-in admin. Our team has relatively little experience in any of the alternatives, so that's not a significant factor.)
But Django is substantially more popular than Pylons, and Ruby on Rails or ASP.NET are substantially more popular than Django. So what am I to conclude?
- The very popular choices are more popular because they're much better, so I should pick one of the more popular choices instead of what I'm currently planning.
- The very popular choices are not necessarily much better, but more popularity means better documentation, better community support, better add-ons, and an easier time finding developers with prior experience, so I should pick one of the more popular choices instead of what I'm currently planning.
- Any of the options would be good, so I should pick what sounds best for my target project without stressing about popularity.