Java devs have some of the worst habits when they learn a new language. Why create a global variable for a setting in python when you can instead wrap that global variable in a Singleton class that makes using it no safer, and far more complicated
Actually, I like encapsulating global state in a structured and documented construct. But I guess I could see Java developers going overboard with abstraction in an imperative language.
I think, the point is that in Python (like Rust) that construct is a module. In Java, a module does not exist in that sense. You put everything into classes in Java and static classes, i.e. singleton objects, are what you use instead of modules…
Java devs have some of the worst habits when they learn a new language. Why create a global variable for a setting in python when you can instead wrap that global variable in a Singleton class that makes using it no safer, and far more complicated
Actually, I like encapsulating global state in a structured and documented construct. But I guess I could see Java developers going overboard with abstraction in an imperative language.
I think, the point is that in Python (like Rust) that construct is a module. In Java, a module does not exist in that sense. You put everything into classes in Java and static classes, i.e. singleton objects, are what you use instead of modules…
Interesting, that definitely makes sense!
There are good reasons to do singletons in python. But your first instinct shouldn’t be to jump straight to one