I've always thought that a lot of software companies encourage inefficient software, so people need a new computer to run their software and that new computer comes with new software and the people buy more software. It forces people to buy (especially I believe that is Microsoft's business model). Since most programmers have nicer computers, they get lazy and write inefficient code. The two together means everything takes more resources and is more inefficient than it should be. If programmers still tried to be efficient, I'd never have to upgrade my computer till it died. That would be wonderful.