Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: Right tool for the job?

by zshzn (Hermit)
on Sep 25, 2005 at 01:56 UTC ( #494831=note: print w/replies, xml ) Need Help??

in reply to Right tool for the job?

Perl is a great and diverse tool. It is not always the right tool for the job, nor is it always the best tool when it does the job well. Learning other languages not only increases your available options, but also your understanding of technical concepts, and ultimately your understanding of Perl. Learning is a good thing. However, your capacity for learning is often limited by your free time, and choices have to be made. I would advocate a balance, learn more languages while keeping up with Perl. Not 3000 languages, of course. A useful list of popular languages that you may need to work with includes Perl, C, ASM, shell, Java, PHP, and Python, and the list just goes from there. Certainly not 3000 useful languages, you could get by very well with half a dozen.

If you don't know C, any ASM, or shell scripting, I would suggest an attempt at learning the basics of them before going further with Perl.

Replies are listed 'Best First'.
Re^2: Right tool for the job?
by Anonymous Monk on Sep 27, 2005 at 20:34 UTC
    A useful list of popular languages that you may need to work with includes Perl, C, ASM, shell, Java, PHP, and Python
    While learning a popular language may make you more popular, learning an unpopular language will probably be more beneficial in terms gaining programming wisdom. Choose one from each of the following categories...
      Certainly. However, he mentions programming languages as tools to solve particular tasks that may come up, not so much in a 'pure' kind of interest for the sake of learning. Although any of those would be very beneficial to a programmer's knowledge of concepts, learning a few popular languages will not only teach new concepts and wisdom, but also will be very practical.
        I disagree. The difference between Perl and Python is mostly a matter of slightly different syntax and maybe a few different libraries. Any problem you that can solve in Python in X number of lines of code, you can also solve in Perl in X lines of code (plus or minus 10%). About the only wisdom you'll gain is knowing that whitespace can be made significant. Now compare to something like Prolog. You can solve some "Real World (TM)" problems in X lines of code, which would take 10X-100X lines of Perl (or Ruby, or Java, etc.). If a person doesn't know many other languages besides Perl, they won't necessarily know that some languages are based on completely different paradigms. Perl, Python, Ruby, and Java are (gasp) pretty much cut from the same cloth. If you know one of those languages, you won't learn new ways of thinking by learning one of the others. Just having a brief encounter with a language like Prolog or Haskell will interesting and exciting and it will enable different ways of thinking that you'll appreciate later.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://494831]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2017-04-25 05:02 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (449 votes). Check out past polls.