You seem to be under the impression that Java code bases are inherently "horrifically gargantuan and abstract". I would just like to say that is not the case - they are often like that, but they do not have to be. In my time, I have worked on many Java code bases that are small and simple, and not abstracted-to-hell.