Java completely violates the Coupling/Cohesion rule of software quality. A "module" in Java consists of 5/6+ files containing interfaces, beans, functions, etc. This makes for low cohesion (BAD!). All of these files also need to be connected to each other plus those "frameworks". This introduces a high degree of coupling (BAD!).
The smartest thing the US government ever did with computing was to create Ada. It was designed for software quality, to be provable, and to scale to millions of lines of code. They achieved their goal with the language Ada - and relatively quickly made the mandate that ALL future US government code would be written in Ada.
That (almost) never happened! Ada was new and was not taught in schools. C coders were used to having plenty of rope (to hang themselves) - like untyped pointer addition, while Ada took ALL of the rope away. NO POINTERS? HOW will I get my job DONE? No department of the government took the Ada mandate seriously, and kept on coding in C (or FORTRAN) - so the promise of a better way was squandered.
As bad as untyped pointer addition is, writing several files to do ONE thing in Java is worse.
The best of ZDNet, delivered
ZDNet Newsletters
Get the best of ZDNet delivered straight to your inbox



