The Exceptional Beauty of Doom 3's Source Code
m.kotaku.com
m.kotaku.com
In the end, much of the article was yet another articulation of syntactic preferences.
Also code that is not directly dependant on the context (business domain) should be put in a special place, in Java that would be in util-methods "hidden" away in some common-package. This way it does not clutter the rest of the code, and allows for easier reuse.
edit: spelling
I find streams much easier to maintain since there is only one list instead of printf's two. I find Niether is really good at large string interpolation jobs, but streams seem to scale better to me.
Whether or not you prefer the appearance of using printf to streams, streams are objectively better even ignoring scale, because they are typesafe, where printf is the exact opposite of typesafe.
I thought this would have been submitted days ago.