I have seen this article referenced rather often, and I really have a problem with it. Despite being called "Singleton Considered Stupid," much of the article is not about singletons at all, and he barely addresses why singletons are bad. The actual arguments, buried 3/4 of the way into the article, boil down to a) resource/memory management problems, and b) that in the future, you might possibly need more than one object of anything you decide to make a singleton. (He mentions multithreading too, but that is just silly; e.g. even if I had multiple Log objects, there would need to be synchronization at some point if I'm outputting to the same stream). He writes numerous times that it's bad OOP, or "OOP made easy," because it is too much like procedural programming, but only mentions the factory-method pattern as an alternative at the very end of the article, and doesn't actually say WHY it's better. The necessity for, or at least temptation of global state is not even mentioned.