Good language ought to discourage (enough) the bad practices. Culture forms slowly, and it's Java fault that the culture managed to produce such excessities as proverbial FactoryFactoryFactory.
Edit: I still think Java is a good language, especially later versions, and both original goals and recent advances are quite noble.