Beefy Boxes and Bandwidth Generously Provided by pair Networks Ovid
We don't bite newbies here... much
 
PerlMonks  

Re^3: Right tool for the job?

by zshzn (Hermit)
on Sep 28, 2005 at 02:47 UTC ( #495608=note: print w/ replies, xml ) Need Help??


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

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.


Comment on Re^3: Right tool for the job?
Re^4: Right tool for the job?
by Anonymous Monk on Sep 28, 2005 at 15:46 UTC
    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.
      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.)

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://495608]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (12)
As of 2014-04-21 12:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (495 votes), past polls