Hardware should be designed with software failure in mind, and in fact should survive being attacked by software deliberately written for the purpose of damaging the hardware.
Assuming the software is going to play 'nice' is assuming that there will be no bugs, that there never will be a successful exploit and so on.
Leaving it in the sun where it gets really hot can cause hardware damage.
Sitting on your phone can cause hardware damage.
Leaving headphones plugged in and in your pocket causes hardware damage (learned that firsthand).
They still warranty all of that stuff, and they are far more likely to cause damage than the "this driver is so bad it actually fried my CPU" idea.
1) I buy a macbook pro (covered under warranty, etc)
2) I install software that disables the fans
3) I update the firmware to disable the automatic shut-down when overheating (or move it so it only happens at an even higher temperature)
4) I run high-cpu software until the machine crashes
5) I repeatedly do this for months on end
I'm pretty sure that machine will be toast soon enough. Is it fair that I should then take it to Apple and ask for a new machine "because it's under warranty"?
Designing good hardware is hard, but it definitely can be done and a few ntcs and a crowbar are not going to break the bank.
You make a great point about why passively cooled systems are better though :)
Just my 2c.
Q: How many programmers does it take to change a lightbulb?
A: It can't be done, it's a hardware problem.
The implication of the joke is that if anything is 'hardware' you are not supposed to be either able to 'fix' it or 'break' it using just software.
Hardware is taken as a 'given', no matter how crappy the software you run on it, no matter how malicious your intent, the hardware is supposed to survive.
If you decided to try all possible pieces of software you could possibly run on your machine by simply enumerating them (yes, that's going to take a while) then you should not have to do a full hardware integrity test after every run.
Most devices you can render into useful bricks if you mess up their software.
At least like this you have the option to go back to 'factory settings' (ie, a blank start) and you can expect to get your device back to the way it was when you bought it.
In fact, back in the day it was possible to damage your keyboard through software. That must have been fun. Not.