3 ms·
I stopped reading after One line of working code is worth 500 of specification and It's never too early to think about performance. I thought this philosophy w
by edu 18y ago
I stopped reading after One line of working code is worth 500 of specification and It's never too early to think about performance.
I thought this philosophy was proven flawed!
- swombat 18y agoNothing's proven flawed. Both of those pieces of advice work under the correct, narrow circumstances. If you're building a web start-up, forget specifications. Write code. There is no way to have the slightest clue what you need to specify anyway. Write something that does something useful and put it in front of some users. Go from there. In different circumstances, of course (e.g. while building the software for a major Stock Exchange), this is the absolute worst thing you can do. If you're building your start-up, it's almost always too early to think about performance. You need to have some vague awareness of whether it will be possible to optimise your code later and keep it clean and simple so that it remains possible, but ultimately I've found that it pays to optimise at the last minute - i.e. optimise when there are performance problems, not before. On the other hand, going back to the major stock exchange example, performance there is likely to be one of your major challenges, so you need someone on the team who is performance-minded and has built a stock exchange before, so that they know where the bottlenecks will be and can ensure those are avoided.
- rbanffy 18y agoIt's never really too early to think about performance. All you have to do is try not to act early on that. A lot of architecture ideas we have (sane URLs, caching servers etc) are rooted in performance considerations.
- icey 18y agoThere is a difference between things that an architect needs to worry about and the things a developer needs to worry about. That difference is due to scale - the architect has to think about the application holistically where a developer needs to think atomically.