So many times, so many visits to Stack Overflow, Hacker News, MSDN or Google Groups and the questions are asked over and over again. "What is the best....", best framework, best language, best fit.
It is a terrible word used too frequently. You might as well ask, "What is the best car?" or "What is the best sport?"
Clearly, the question only makes sense when qualified with your definition of best but there's still room for uncertainty. Unless you can specify everything about your situation and even if you can, it would be impossible to answer it in most cases, especially in fields like computer science where there are so many options.
Example: "What is the best PHP framework?"
Answer: "How mature does it need to be? How much support do you require? How easy do you need to recruit people? What frameworks do you already know? Would you prefer reliability or speed? What environment are using/do you want to use?"
You get the idea. The question is dumb and the answer is complicated but yet so many people ask it.
If you use the word best, you should go back to school. Or maybe you should go to school for the first time. If you want to be taken seriously as a developer, take a course, do a degree or a diploma. Don't assume that being good at software engineering is instinctive and obvious and that you are clever enough to think of all the things you need to learn. Don't assume that it is OK to make mistakes on commercial sites and learn from them - you should be learning from mistakes others have already made.
Oh, and you should not use the word "best".