

How Many Languages Should You Master? - deconq
http://www.codeconquest.com/how-many-languages-should-you-master/

======
jeremiep
I don't agree with the author here because mastering a single language will
only give a narrow perspective on programming in general. I'll explain with my
personal evolution through languages:

The first programming language I ever got very proficient with was PHP4. After
a while I could feel there wasn't much more the language had to teach me, yet
I couldn't explain the first thing about how its C implementation worked.

So I started teaching myself C to discover whole new world of programming:
pointers, structs, a link process, calling conventions and more, even what
happens when you dereference null - heck, the main() function was new to me
and I had been programming for 3 years. PHP suddenly felt like a tiny little
world living inside an http request within the apache process - the request
had been my main() if you will.

Then the same happened with C++, once I got past the headaches trying to
understand boost. Until the point after 10+ years I could tell the semantics
of even obscure features in any of PHP/C/C++/D/Java/JavaScript and was
proficient in a few dozen languages with at least a dozen I actually used to
ship products with. Every new language I learned completely redefined the
world of others, with the exception of Java, which I decided to quit forever
after less than 6 months doing it for a living, what a horrible, horrible
language.

What happens when you learn more languages is that the larger perspective
gives you a deeper understanding of how they all work, which in turn makes
remembering obscure facts easy because you understand why they need to exist
in the first place.

"Mastering" something isn't hard, it's just long and requires a bit of
dedication every day. Learning about as many things as possible gives
perspective which in turn helps to determine where that mastery should be
focused.

I quote mastering because it isn't a goal but a process; you don't reach
mastery but you constantly pursue it.

