Hacker News new | ask | show | jobs
by dkersten 5342 days ago
If you are already an expert programmer who knows a few similar languages, then sure.

If you are already an expert programmer who knows different languages, then two years may be enough, or it may not.

If you are not already an expert programmer, then two years is unlikely to be enough. Peter Norvig suggests it may take ten years to become an expert: http://norvig.com/21-days.html

Example: I have been programming for a little over ten years (though not all of that time was professional programming); have a degree in software engineering; have worked in telecoms, web development and recently in embedded systems; have used C, C++, Java and Python professionally; I am a self-described language enthusiast who likes to tinker with, try out and apply a variety of languages (factor, scheme, clojure, prolog, ocaml, haskell and a few more to a lesser extent). BUT I still learn new things about the languages I use. I still feel I have a lot more to learn. I first started using Python in 2001 or 2002 and I still find myself learning useful new things.

So, sure, you can learn enough to effectively use a language in a lot less than two years, but I think it will take a lot lot longer to learn "everything you ever needed to know about a language".