Performance or features first

I opened the Mac and found Performance first development open in one of my browsers.

If your program is still a prototype and does, for example, 1% (20%, 50%, 90%) of what it’s supposed to do, and it is already slow, then it’ll only be slower after you finish it, no? You will make it do more, why would it become faster?

Well, because you optimize it when you prove that it is working. That's why Knut wrote:

Premature optimization is the root of all evil.

The trick is to find the right time to optimize. Knuts point is that premature optimization is the root of all evil, not that you should never optimize.

Some argue that Google Video failed to catch up to YouTube because YouTube programmed in the slower Python, while Google used C++ to have fast, optimized system from the start. But since Python let YouTube release new features faster, Google Video could not keep up. After a while the network effect took hold and YouTube owned the market. Others argue otherwise.

When Chrome was released, speed was a feature. It was super snappy and lightweight. The other browsers had been in year long feature battles. The browsers were bloated. Chrome made speed a feature.

The hard thing is to find the right time to optimize. And to know how fast is acceptable. Sometimes brrr is fast enough, other times it is not.

18.04.2020