5 ms·
Is it efficient if it takes so long to get to market that the product is irrelevant by the time it gets there? Is it efficient if the product is buggy and inse
by cbd1984 11y ago
Is it efficient if it takes so long to get to market that the product is irrelevant by the time it gets there?
Is it efficient if the product is buggy and insecure because it's inherently more difficult to program in assembly compared to Python or Java?
Is it efficient if the product is not extensible and inflexible because every engineering decision went towards efficiency, which is inherently opposed to flexibility? (Early binding is inherently more efficient than late binding for all the same reasons it is inherently less flexible.)
Or do you insist on defining "efficiency" solely to mean "machine efficiency" instead of thinking like an engineer and understanding the concept of trade-offs where no decision is inherently worse than any other?
- vlehto 11y agoI think that attitude is great. It leaves room for the people who think "OK this exists. Now how about making GOOD version of it." Problems start when everybody too perfectionist or everybody is too quick and dirty.
- p1mrx 11y agoThis attitude makes sense within a robust Free Software environment, but if the inefficient component is tied to a proprietary service using a closed protocol, then the ability of any individual to improve that component is very limited.
- cbd1984 11y agoI fully agree with you, and will add one thing: My way leaves room for "OK, this is crap. It isn't worth making a good version of. At least we didn't waste too much time."
- claudius 11y agoIs it efficient to wait 6 weeks for results rather than half a week because you preferred Python over C++ during the half-day (half-week) respectively of coding? Is it efficient to use thousands of kWh in electricity rather than just hundreds? As always, the answer obviously depends on your problem.
- cbd1984 11y agoWhat gets up my nose is when people make it seem like a specific engineering decision is the only moral decision, and that making any other set of trade-offs is evidence of some degeneracy, such as laziness or stupidity. In this context, it's as if they think that, well, "Every cycle's sacred/Every cycle's great/If a cycle's wasted/God gets quite irate" or similar. It's quite annoying to listen to the more extreme end of this spectrum rattle on about how horrible it is that people no longer use self-modifying code with overlapping opcodes and instruction scheduling which optimizes the drum seek time...
- claudius 11y agoOh, absolutely. But equally absolutely, there are no absolutes. There’s still plenty of areas where fast code is infinitely more valuable than anything else, including developer time. As I said, whether you should optimise for the former or the latter strongly depends on your problem at hand and external circumstances. PhD students are cheap, Xeons aren’t.
- blub 11y agoThese people are rarer and rarer. On HN I always see the top comments excusing poor performance with having supposedly better productivity and security. It really seems that many devs are allergic to the word "optimisation" and lash out when they see it. No one says you have to write your code in assembly folks, but do run it in a profiles and make sure it's now slow.
- userbinator 11y agohttps://xkcd.com/1205/ https://xkcd.com/1205/