The most basic question is not what is best, but who shall decide what is best.
"The challenge in theoretical computer science is not just to solve problems, but to understand why they are hard to solve."