I think, especially in programming language communities, that there tends to be a preference towards making a static language for their compile time guarantees, and this is a pretty concrete counterargument as to why people find dynamic languages “easier to program in”
Would have been a lot better if printf() wasn’t used as an example. That’s like justifying DI or AOP with mocking frameworks or logging or justifying closures with shitty hacks you do to make the JS experience 10% less painful. Or macros justified with DSLs. Reflection justified with serialization.