6 ms·
Inefficient software is deployed to millions of users and can cost a lot more time (and resources/energy). Also, I’m fed up by bad software eating up all the pe
by emsy 6y ago
Inefficient software is deployed to millions of users and can cost a lot more time (and resources/energy). Also, I’m fed up by bad software eating up all the performance improvements of modern hardware. It feels like we never got faster CPUs, memory and SSDs. The demand for programming increased but the supply of capable engineers couldn’t keep up and everyone is trying to find excuses for the simple truth: most programmers are incompetent.
- kspacewalk2 6y ago>Inefficient software is deployed to millions of users and can cost a lot more time (and resources/energy). Whose time/resources/energy? Not the software vendor's. >most programmers are incompetent. You can't afford the software written exclusively by very competent programmers, optimizing for efficiency/speed/energy usage instead of development time. That'll usually cost you far more than more compute resources/time in the end.
- hedora 6y agoWith *aas, the vendor ends up paying for the electricity. Also, paying an army of incompetents to modify a codebase isn’t a sustainable development process. Eventually the code spins out of control. Worse, one of the incompetents eventually accidentally gets promoted, then rapidly hires and promotes more bozos. Ultimately, they eat the organization from the inside like a cancer. (This is well-documented, and has happened to many organizations. Search for “bozo effect” or “bozo explosion” for more information.)
- bluefirebrand 6y ago> paying an army of incompetents to modify a codebase isn’t a sustainable development process. Unfortunately it doesn't have to be sustained long term. Only until you get bought or whatever, the people at the top make their money, the army of incompetents cash in somewhat too if they are lucky, and some poor sucker is stuck with an unmaintainable mess that they just paid a premium for.
- rosmax_1337 6y agoMost situations operate on more or less cost vs efficiency basis, no matter if you are a beginner programmer making your first game in Unity or a senior dev at Google. Your code needs to be fast enough to be fast, but not fast enough that you have no time to develop anything else on your project. It seems therefore natural, that as hardware becomes stronger, developers feel less pressure to optimize. Naturally also, it is the developers fault when something is so poorly optimized that it affects the product. Because in the end, we are workers like all other kinds of workers, and we're looking to get a job done, and not done "perfectly". (unless you're hired to optimize servers at Google to the point of perfection) Also, a term I like to mention is that "instant = instant * 0.5". Meaning, if your code is fast enough that it doesn't affect the user experience in the end, and feels "fast". Making it twice as fast has literally no impact. And I doubt server computing cycles is causing energy shortages around the world. We've got other problems causing that.
- jcelerier 6y ago> Also, a term I like to mention is that "instant = instant * 0.5". Meaning, if your code is fast enough that it doesn't affect the user experience in the end, and feels "fast". Making it twice as fast has literally no impact. that makes the very flawed assumption that your program is the only one running on the computer. In practice even if your program does not appear slower, it uses more battery, other software have less CPU time, etc etc
- username90 6y agoEven more important is that it caps the number of features you can add. There are many expensive operations people like to have in text editors, using code that is 10x faster would help with many of those.
- Igelau 6y agoIt's kind of outrageous the amount of software that seems to be completely inoperable unless you have a SSD.
- xupybd 6y agoYes if you are deploying to millions you need to spend time making your code fast. The vast majority of people are making code for much smaller audiences.