http://qs321.pair.com?node_id=108224


in reply to Does Knowing Perl Help or Hinder Learning another Language

One more reason why learning new languages is important:

It gives you another perspective.

When solving computer problem, it is important to distinguish which issues are inherent to problem being solved, which are part of method (algorithm) used, and which are inherent to used language.

Sometimes we are tempted to use constructions which look elegant in selected language, without thinking if they are relevant or appropriate to a problem. Or, sometimes idioms good for one language are used in other language (C++like for in perl: for ($i; $i<=$#array, $i++) instead of: foreach $i (@array), and worse).

In other words, to be able to think about using proper tool for the problem, we need to distinguish what is a tool and what is a problem.

Learning new languages gives you this perspective - and understanding that there is no perfect tool. Not even perl is perfect. (downvotes coming...) Then you can really start to appreciate decent tool for rather wide range of problems, as perl is - and you have better feeling what you are talking about.

And you can also decide, where perl is not a good tool for a job, and why.

When you know only one (programming) language, you are like a person looking to his first sunset: sure colors are different than during the day, but is this the real thing, or just hurricane coming my way?

pmas
To make errors is human. But to make million errors per second, you need a computer.