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.
  • I don't mean to be a troll or anything like that and I haven't really looked at the how the Perl 6 syntax has evolved over the years.

    So, out of curiosity I decided to take a look at the commit and I was bewildered by code such as:


    %*pads{$*current-block} = {};
    for $ -> $statement {
        self.find-vars($statement, 'statement');
    }

    I mean, I can see the point in Perl 5 sigils. They're not pretty, but they're acceptable and they didn't bother me in these almost 10 years I've been programming in Perl.

    But

    • Thank you for writing your comment. You're fears of being a troll are quite unfounded. You're quite frank, and your intention is clearly not to cause ire but to air your own distress. Let me try to help allay it.

      It's nice to be the one putting some Perl 6 code in the way of a Perl 5 programmer with ten years of experience. I'm not surprised that your first reaction to twigils is one of slight... unease. Perl 6 syntax is different, and not just in minor details.

      Things look like line noise when you don't know

      • I think I understand the motivation behind the twigils. In other programming languages you can't immediately tell if a variable name is a local variable or an object attribute, for instance.

        And while I can't think of a better solution, twigils just don't seem to be the best solution to me. Maybe always requiring the object to be explicit is a better solution (e.g. $self.attribute). But then you'll hit me with a TIMTOWTDI hammer since that probably also works. :)

        I don't agree that "line-noise appearance" com

        • I can assure that if Perl 5 people thinks the syntax is a little awkward... well, the rest of the world will find it, at least, *very* awkward.

          I can imagine that idiomatic Perl 6 is difficult for people to understand if they've never learned any Perl 6. I care more about how easy a language is to learn and to use once you've learned it than how difficult it is to guess at meanings if you don't know how to lex it. I don't mean to sound harsh, but the metric of "intuitive to the uninitiated" is irrelevant to me.

          All new developments in the Perl 5 world seem to try to "clean up" the syntax, i.e., less non-alphanumeric characters whenever possible.

          I disagree in principle and in theory. You can and should remove or reduce irrelevant, inconsistent, misleading, and redundant syntax. Few people disagree. Yet syntax is not a bad thing. Syntax is good. Punctuation clarifies "LETSEATGRANDPA", for example.

          Isn't the goal of programming language design to communicate intention effectively to other programmers?

          • I agree that the "intuitive to the uninitiated" metric shouldn't be considered a major thing (although, I think it is desirable if it doesn't get into the way of other features).

            To be honest, I'm just worried that typing all these "shift characters" everywhere will make programming in Perl 6 actually a tiring experience which results in a bad aesthetic result. I mean, pre-"syntax sugar revolution" Perl 5 was already at the limit for me.

            • I understand that concern, especially for people with keyboard layouts where typing symbols is more difficult than shift-eight, for example. I don't have a good solution for that. Certainly I'll never argue in favor of Perl 5 reference syntax.