Linked by Eugenia Loli-Queru on Wed 12th Dec 2007 05:47 UTC, submitted by LinucksGirl
Thread beginning with comment 290280
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.





Member since:
2005-07-09
It's taught (at least 10 years ago) in a more advanced form under the topic of Memoization.
But it's not really emphasized and you won't generally lose marks for inefficient designs as long as you can prove your program correct and (sometimes) validate that the O(f(x)) is of polynomial order.
Unfortunately, these days, computers are faster with more memory and garbage collection (not keeping track of resources) is cheap and caching (whether it helps or hinders you) is automatic, so lazy programming and efficiency seems to be an after-thought. Efficiency is only important if you can't just throw more resources at the problem and you can't convince your users to put up with the slow and resource hungry nature of your app and you can't find some sort of 3rd party cache that covers up the issue properly.
Thankfully, there is still good coding out there, especially in the Linux world where my creaky fully loaded 8 year old server/desktop still outperforms Windows XP on a modern desktop. But such good coding is something you learn from masters outside of school (even 10 years ago), and most people unfortunately don't have the benefits of working with one, so these sorts of articles are definitely welcome.