I never said that a good programming language will make a bad programmer write good code, just that it makes crappy programming harder, eg by providing you with a choice of tools and constructs so that you can choose what makes sense for the task, instead of having to force some language feature to do something it really isn't suited for.
If you have nice language features for the various tasks which you are trying to achieve, then the code will be better than if you don't. If these features are designed in a way that promotes good, clean, reusable and easy to understand code, then it makes crappy programming harder.
Bad programmers will always write bad code and good programmers should always be able to write good code. A good language doesn't get in your way, it helps you and so a good programmer can write great code with the same amount of effort as a good programmer writes good code in a lesser language.
If you have nice language features for the various tasks which you are trying to achieve, then the code will be better than if you don't. If these features are designed in a way that promotes good, clean, reusable and easy to understand code, then it makes crappy programming harder.
Bad programmers will always write bad code and good programmers should always be able to write good code. A good language doesn't get in your way, it helps you and so a good programmer can write great code with the same amount of effort as a good programmer writes good code in a lesser language.