Comment Re:This just in (Score 1) 487
Don't forget that we don't just use our space for candy. There's also Unicode, which is often done with 32-bit characters, so 4x on your strings right there. Along with that is internationalization, so your strings get duplicated 10x or whatever. Further, every 64-bit pointer takes 4x the space of a 16-bit pointer. We also use a LOT more pointers, because we have this crazy, correct idea that fixed-length data structures are evil in multiple ways. We also tend to write in imperative object-oriented or quasi-pure functional style, which are both a bit bloaty, because with those styles it's a lot easier to write extensible code. (With OO, it's easier to extend the kinds of objects on the system; with functional, easier to extend the kinds of operations.)
So yeah, it's not just candy or foregoing optimization. We've been moving toward making it easy for every programmer, regardless of skill, to write code that, if not correct, will at least not blow up your computer, and do a lot of really cool stuff.