These systems are getting really huge. And Java has proven to be pretty successful in building large reliable systems. I'm glad I asked that question because I thought you might have been talking more about the complexity of large, monolithic programs. Yes, even isolated things. Some of these isolated applications that sit on one machine are a million lines of code.
Most people have no way to wrap their head around it.
There are all kinds of tools available, from organizational tool you get from object-oriented methodology, to some of the tools that are based on that, like UML modeling. But of course the more tools you build to cope with such complexity, the more complex things become. Increasing complexity is also being driven by hardware that's getting cheaper and more powerful. One of my favorite lines is that computers are driven by Moore's Law, which is an exponential process, and human beings are driven by Darwinism. One way to look at it is as a Monte Carlo process.