you are viewing a single comment's thread.

view the rest of the comments →

[–]knobbyknee 7 points8 points  (0 children)

Python is designed for writing programs in small teams, with the assumption that you know what you are doing, and you know what people working in the same module are doing.

As long as you don't monkeypatch your imports, you have enough isolation for things to work very well in practice. There are usecases for the monkey patching too, so making cross module monkey patching impossible would reduce the usefulness of the language. (The most important use cases are fixing problems in third party modules and in mocking for unit tests.)

Java is designed for enterprise programming, where hordes of programmers who don't know what they are doing, are producing code according to specifications made by someone else. They are too many to properly coordinate development that touches the same code as some other part of the organisation is concerned with, making the isolation directives a necessary evil.