Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re^2: I want you to convince me to learn Perl

by soonix (Canon)
on Sep 25, 2013 at 08:04 UTC ( [id://1055632]=note: print w/replies, xml ) Need Help??


in reply to Re: I want you to convince me to learn Perl
in thread I want you to convince me to learn Perl

Go Learn Python

well, I did so. In the argument "line noise vs. significant whitespace", I opted for the latter and did not rue it. Of course there's more differences than that, but also they have more things in common than some people say.

So, why am I coming back to perl? Simple:

  1. Perlmonks - I am not disgusted by the Python community, but this one is superior, even if it should be run by benevolent dictators :-)
  2. CPAN

Of course, given that I started with FORTRAN and COBOL, both Perl and Python are big improvements to the art of programming :-) and anyway I am using both (and some other languages, too).

  • Comment on Re^2: I want you to convince me to learn Perl

Replies are listed 'Best First'.
Re^3: I want you to convince me to learn Perl
by BrowserUk (Patriarch) on Sep 25, 2013 at 08:44 UTC
    In the argument "line noise vs. significant whitespace", I opted for the latter

    It's not just the significant whitespace issue; though that is possibly the most frequently annoying. Other things I remember:

    • Scoping is weird.
    • Documentation is crap.
    • Library (dis)organisation.
    • colons; thus the lack of multiline anonymous subs.
    • The general lack of coherence.

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      It's not just the significant whitespace issue; though that is possibly the most frequently annoying.

      I hear this way too often and I honestly don’t understand it.

      If you already indent correctly (go one unit deeper in a sub-block, one unit shallower when the block ends — and unit is whatever, be it a tab or several spaces, as long as it’s consistent), you won’t even notice the language relies on indentation.

      And I sure as hell hope you people indent properly in your non-python code too, already.


      That said, Python annoyed me with one thing that Perl — thankfully — doesn’t: run-time errors. Everything you can think of, is going to bite you during run. There’s no strict mode, no nothing to guard you against typos and such. Perl will very happily rattle its chains about stupid things that Python will remain completely oblivious about until you run into it while the code is in motion.

        I hear this way too often and I honestly don’t understand it.

        If you already indent correctly (go one unit deeper in a sub-block, one unit shallower when the block ends — and unit is whatever, be it a tab or several spaces, as long as it’s consistent), you won’t even notice the language relies on indentation.

        Look around at my code here and you'll see that I am very consistent -- almost anal -- about indentation in my code be it Perl, C whatever. But when I wrote python, it was just to damn easy to end up with:

        	stuff here
         	more stuff here
        

        Looks consistent, but is invisibly different. And that is puerile, pathetic and it f'ing annoys me. Frequently.

        And quite frankly I don't give a flying fig whether you "hear this way too often". If you don't wanna "hear" it, don't read it.


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
      yep, that's what I meant with "more differences than that". OTOH, wether something is annoying (and how much so), very often is influenced by what you have been using before, or what you are used to. E.g. I had seldom need for anonymous subs, so didn't miss multiline ones :-)
        I had seldom need for anonymous subs, so didn't miss multiline ones :-)

        You've never spread a sort block or map block or grep block over two or three lines?


        With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.
Re^3: I want you to convince me to learn Perl
by einhverfr (Friar) on Nov 24, 2013 at 03:58 UTC
    The problem I had with Python was that there were plenty of places where, because everything is an object, I found a number of areas where things like integers were copied by reference rather than value. Maybe it's better now and maybe I wasn't doing things The One True Python Way, and it has been a few years, but I remember being really puzzled by that one.

      well, one of my first languages was Pascal, where you have to tell your subroutines whether they get their parameters by value or by reference. That possybly had made me more aware of this one.
      Which means, when I use sort, I have to pause thinking about whether it modifies in-place (Python) or returns a sorted copy (Perl)...

      Update:

      copied by reference
      is just plain wrong terminology. References are used to avoid copying.
      Don't even think in such terms! That impedes yourself, and then no wonder you're puzzled... regardless in which language you program.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (4)
As of 2024-04-26 04:25 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found