To my mind the worst thing about it is the implicit rather than
explicit parameter indexing, which makes localization much harder
(you can't change order in the format string to match language needs
w/o changing the argument order to the call as well).
As I understand it, POSIX printf actually _does_ support explicit
parameter indexing (and I believe translation strings are indeed the
motivator for this).
Yes, it finally made it into the standards and does seem to be getting adopted :)