Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • Wow, you really taught that guy I've never heard of a lesson!

    You know, I keep getting your articles through planet parrot in my RSS reader, and waaay too many of them are you doing this kind of petty bitching about what "some guy" said. I wouldn't care what you say either, but these things are being pumped out through planet parrot (and planet perl), which annoys me greatly.

    For what it's worth:
    for =$*IN -> $guess { ... }
    is a trainwreck. It's the =$* that gets me. I like the ->. I'm OK with the non
    • For what it's worth...

      I can imagine you'd find it frustrating if people so casually dismissed your work with superficial complaints, especially if their complaints demonstrate little attempt to understand what you're trying to do. Maybe I'm extra sensitive this month from dealing with an underdocumented SOA project with heaps of code generation, WSDL, and EJBs.

      Unary prefix = always iterates over an iterator. The * twigil always indicates a global variable. $*IN represents standard input. Now that

      • I can certainly decipher that bit of code with the help of the docs/web (and did), but I really don't want to decipher it everytime I revisit that line. It's not about being a "novice": I expect to have to learn the language, but I'm not going to be able to "learn" punctuation. Maybe that's a limit for me only... I don't know. I know perl 5 pretty well, but I still can't reliably remember whether it's ~= or =~ for regular expressions, and $_ and the $ vars are the only perlvars I have memorized (though $/
        • Perl 6 relies on sigils and operators, but our hope is that by gathering and grouping variables such as $*IN and %*ENV (I bet you can guess what that one is) and turning other Perl 5 magic globals into object properties, the conceptual weight of the system is much less. Hopefully at least they'll be easier to look up this way.

          Unfortunately, some people have trouble reading symbols. I have trouble reading code without judicious vertical whitespace to separate paragraphs, so Python can be a chore. (Is th

          • I think I can see where joejoe is coming from. Perl is often compared to the english language and his is a good example of punctuation-blindness that writers of english seem to have. Witness the use of "im" instead of "I'm" and run-on sentences and that no one knows where to use a comma or a semicolon in their sentences. Et cetera. Perl suffers this malady more because it relies more on punctuation than english does.

            So maybe it's the modern (mis)use of the english language that has conditioned people to
            • I have difficulty reading mathematic formulas. The variables keep getting jumbled. If I spent more time with a few formulas, I'd eventually memorize them. Some people are better at words than symbols, and, as programmers, they might find languages with fewer symbols easier to read. That might be the case for joejoe.

              Of course, English punctuation is mostly hints anyway. Just like you can represent Koine Greek without aspiration notation, you can represent written or spoken English without punctuation and get the message across. (I find Koine much easier without breath marks, ironically.) Unless you're reading David Foster Wallace or ee cummings, you don't have to analyze the use of punctuation when reading English texts.

              I suspect that novice Perl programmers often see the punctuation characters as arbitrary noise at best and deliberate obfuscation at worst. This amuses me sometimes. Native English speakers seem to use pronouns (at least the singular gender-neutral pronoun) effectively, but plenty of people swear that they can't keep track of $_ in Perl. Some of them have even started to learn the language. There's that mental model again. (If you can use the word it without derailing the conversation, you can use $_.)

              It's possible (especially in Perl) to write plenty of useful programs without ever really learning the language or its linguistic underpinnings. This is why you see people using multiple variant or semantically useless idioms in the same program -- indirect and direct constructor invocations on adjacent lines, assignment of explicit empty lists to aggregate declarations, the use of parentheses around single lexical declarations; they've copied and pasted and program by accident.

              The syntactic cues that experienced and mature Perl programmers have learned are obvious to us, but everything is magic to someone who really doesn't know how things work. Think of a single-element array slice, for example. That probably sticks out to you, as well it should.

              Strangely, people complain less often that my prose is difficult to read than they do my code.