Comment by andrewstuart
7 years ago
That's why the thing about "premature optimisation is the root of all evil" is mistaken and wrong in these modern times and yet many people still quote it and take it to heart and as a result don't prioritise speed when building software.
"premature optimisation is the root of all evil" is a saying that came from 1974 when computers were slower, languages were less effective and development processes immature. Today you should make your software fast.
Premature optimization is as much a problem today as it was in 1974.
When you build a framework to support a feature you decide to never implement, that's premature optimization.
I'm not concerned with optimizing code, generally. I'm concerned with optimizing developers. Don't waste time on unnecessary work.
Optimization is an easy trap to step in. You can take it up in other layers aswell, optimizing your choices about the choices to optimize | Ad infinitum.
At some undefined point you may realize that you are trying to solve an undecideable problem. You can spend an infinite amount of time, and not get an answer.
You cannot build an algorithm to determine the amount of time that an arbitrary problem can be solved in, or if it's solvable in the first place. You must make a choice based on imperfect knowledge.
You didn’t read the post, did you?
Wouldn't modern times make it more relevant ? I would choose "don't worry about speed, make it happen first".
No I think speed is a primary feature, not a secondary one. As the article says, users relate completely differently to a responsive application.
The point remains that modern hardware is already super fast. Besides, avoiding "premature optimization" is to avoid efforts to speed up parts of your code which were never a bottleneck. No one is arguing for writing slow code.