|Do you know where your variables are?|
Comment onby gods
|on Feb 11, 2000 at 00:06 UTC||Need Help??|
If the goal is to master the most languages, then one year probably isn't enough time. But if the goal is to learn the most, and to be the best programmers we can be, one year is probably as good of a guideline to follow as any.
Our brains are extremely good at selecting and retaining useful information while letting less important things fade away. We get the most value from our brains by feeding them lots of weird, new ideas. That way, our brains will have more opportunities to find and retain new, useful ideas and add them to our "working set" of knowledge.
If, on the other hand, we feed our brains with the same ideas over and over again, we can't take advantage of the amazing selection and filtering capacity at our disposal. For this reason, I think the best learning strategy is to maximize the likelihood of being exposed to new, valuable ideas.
When learning programming languages, then, it pays to choose the languages that are the most different from those we already know and yet are still likely to be practical. If Perl is our first language, for example, choosing Python or Ruby as a second language probably isn't the wisest learning investment we could make. Most likely, Scheme or Haskell or Erlang would be a better use of our time and brain cells.
Similarly, once we start to learn a new language, we become exposed to its radical new ideas quickly, and from then on the quantity of new ideas fades rapidly. It's a classic case of diminishing returns. Once again, we risk re-learning the same old ideas and not using our capacity to its fullest.
For these reasons, I think that the one-new-language-per-year guideline is reasonable. While one year may not be enough time to master a new language, that time probably is sufficient to provide reasonable exposure to the most valuable new ideas that a language has to offer. It also makes a good milepost at which to stop and ask ourselves whether switching to another new language would be a better investment than continuing with the current language.