There are other constraints on the size of a program, though. All other things equal, larger programs tend to be harder to maintain, and proportionally buggier. This is completely independent of the cost of memory, the size of processor caches, etc. -- There's nothing like Moore's law affecting the human brain's ability to understand sprawling, tangled code bases.
Also: Bugs in device drivers tend to affect stability much more than in userland programs.