I blame the perpetual-beta mentality along with lazy development practices.
Used to be, we specced out exactly what was in a release and no more. Now, it's just whatever they can cram in under a deadline without all that "unnecessary" optimization.
I'm probably as guilty as anyone else; I like getting a paycheck and so I keep my mouth shut, even though shit like that literally keeps me up some nights.
I see a few reasons: less compiled languages, more abstractions, more best practices, that means a lot of libs. I've seen Wirth pascal compiler, it's two files of a few hundreds of lines, but it's not decoupled in any way. Today most programs are larger than this because they compose lots of rules. It also brings false laziness, since you're not used to write short code, well you don't.
Used to be, we specced out exactly what was in a release and no more. Now, it's just whatever they can cram in under a deadline without all that "unnecessary" optimization.
I'm probably as guilty as anyone else; I like getting a paycheck and so I keep my mouth shut, even though shit like that literally keeps me up some nights.