http://www.perlmonks.org?node_id=495805


in reply to Re^3: Right tool for the job?
in thread Right tool for the job?

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.

Replies are listed 'Best First'.
Re^5: Right tool for the job?
by chester (Hermit) on Sep 28, 2005 at 16:22 UTC
    I have studied Haskell in college, and it was certainly different. I actually had no understanding of what map was doing in Perl until I saw some Haskell. The line between theoretical and practical knowledge is not one that I could draw.

    I think Perl is more similar to Ruby than it is to Haskell in some ways, but I think the difference between Perl and Ruby is still significant. The idioms, the philosophy, the approach to solving problems, those things are significantly different in Perl and Ruby. You could say there's little difference between the syntax of C and Perl, but even though I can write Perl that looks very much like C, I certainly don't. I don't think Ruby people write Ruby that looks like Perl either.

    I'd say learning Ruby if you already know Perl is like learning German if you already know English. Learning Haskell when you know Perl is like learning Japanese when you know English. (The analogy likely doesn't make sense unless you've studied all three of those, but anyways...) There can be benefit in both.

    It's something to think about. I will consider diving into Haskell again. (I still have nightmares from last time though.)