Productivity Comes from Reuse
One difference in productivity among the various programming languages is the capabilities of the libraries that are part of the development environment. Developers are productive when using Java because of the size of the JDK class libraries. The same thing is true for Smalltalk and Visual Basic. It's not so much the language that's productiveit's all of the bundled libraries. Once developers have learned the libraries that come with a language, they can be extraordinarily productive compared with writing a traditional 3GL.
But guess what? Interesting though this comparison may be, it's misleading. Teams that use C and C++ have a massive range of code libraries available for them to use; they're just not always packaged as neatly as the JDK or the new .NET framework.
Teams that understand the benefits of reuse are productive in any language. They may start off a bit slower while the library of useful code is built up, but over time they stand to benefit from a deep knowledge of the internals of their libraries.