There is no such thing as mastering a language. You can master a style of programming and you can master a set of libraries, but not a language.
Two things flow from this. The first is that once you have mastered the Java libraries or .NET libraries, you can easily add a couple more languages to your repertoire with different programming styles. But the other thing is, that learning a set of libraries is a lot like saying "I can code without using Google!". Is that really an achievement? It's like saying that you don't carry a mobile phone or that you only use human powered transport. Now that Google exists, why would you bother learning a set of libraries inside out.
Far better to learn how to do great work using different programming styles, object oriented, functional, domain driven design, actor systems with a supervisor tree, and so on. That takes practice and cannot be googled.
If you have ever worked in an environment where you are unable to get to Google, or where half of the search results you'd want to read are blocked by your corporate firewall, you would conclude that the answer is, indeed, "yes".
It is a desirable achievement to be capable of executing those different programming styles without having to fumble around Google to actually write the code. I would imagine the two together, _knowing_ a few languages and _knowing_ those styles, should be the real goal.
Comments
There is no such thing as mastering a language. You can master a style of programming and you can master a set of libraries, but not a language.
Two things flow from this. The first is that once you have mastered the Java libraries or .NET libraries, you can easily add a couple more languages to your repertoire with different programming styles. But the other thing is, that learning a set of libraries is a lot like saying "I can code without using Google!". Is that really an achievement? It's like saying that you don't carry a mobile phone or that you only use human powered transport. Now that Google exists, why would you bother learning a set of libraries inside out.
Far better to learn how to do great work using different programming styles, object oriented, functional, domain driven design, actor systems with a supervisor tree, and so on. That takes practice and cannot be googled.
"Is that really an achievement?"
If you have ever worked in an environment where you are unable to get to Google, or where half of the search results you'd want to read are blocked by your corporate firewall, you would conclude that the answer is, indeed, "yes".
It is a desirable achievement to be capable of executing those different programming styles without having to fumble around Google to actually write the code. I would imagine the two together, _knowing_ a few languages and _knowing_ those styles, should be the real goal.
(While always learning more, of course.)