I don't see the number of class files (not even source files) as one of the major factors of code complexity. Otherwise the pinnacle of maintainable software would be the 200k LoC single c file? I mean I've read lots of SE stuff, but that does seem a bit far fetched (especially considering modern IDEs) - any white papers about that phenomenon? Having the interface declaration at the top of a file instead of in another file doesn't matter much when you get to the point of declaration in any case by a single key stroke.Insane amounts of files for the amount of added functionality, creating a hard to manage mess all too often, is not a non-existent problem (the OP's copying speed is just a nice side effect). The culture of adding libraries and frameworks every other day also helps make it worse, of course.
And why Java would be especially susceptible to adding libraries, is a mystery to me. If at all the Java STL is MUCH larger than the C++STL (heck I can't remember the last even medium sized c++ project without boost). And in lots of cases reinventing the wheel is a really bad idea (though admittedly MUCH more fun and it's nothing new that writing code is much simpler than reading it).
Well I've talked with people from IBM or MS amongst things about this topic and so far not a SINGLE one of them could name any large code base that was rewritten from scratch or large parts of it and where it turned out to be a success. Not one of them, not a single example - now all of them agreed with the overall premise that throwing away large amounts of code is a bad idea, so maybe we're all biased, but then: Please name one larger example of an established SW company. I'd be more than interested in hearing it!Ripping out an application's guts when it's a big complex application that is fairly well-documented, including unfixed bugs (the kind that are easier to work around than fix, due to risk): generally bad. Ripping out an application's guts when its buggy by design, can be replaced modularly, with a quality live testing environment: depends.
Note that this doesn't mean that refactoring code is bad - spending a few months on a large project to fix architectural problems or ugly code with careful refactoring and so on is a great thing to do. Or rewriting a small part of the application due to performance problems? All fine by me too.
Wait how did we end up with a discussion about SE? Bit OTy here.
