But having DI is exactly that: DI is about glorified global variables!
I realize most HN participants living in the Java/C# + ORM ([N]Hibernate)) + XML + SQL hell are just loving DI because it's a tad bit less worse then global variables but, dudes, there's another world out there.
A lot of functions can be made idempotent (always returning the same output for a given set of inputs) and also pure (idempotent and without any side-effect) and this facilitates everything: it gets much easier to "recreate the state" and it makes it easier to reason about your programs.
It's sad because HN is a community built by pg, who talked about "beating the average", about using Lisp dialects, about Emacs, etc.
I took all his writing as "thinking outside the box".
And what do I see here? I see that HN is mostly consisting of enterprisey programmers living in the Java/C# + ORM + XML + SQL hell and not even realizing there's another world out there.
It is sadening me.