Could some one explain the preference for printf over streams? 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.
Only one of many examples of confusion on the part of the author of this gushing post.
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.