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.
  • ...it's already having a great effect on Perl 5 development. For example, in the deprecation of pseudohashes, and in the incorporation of the // operator in 5.10.

    And useful (and usable) parts of Perl 6 *are* available already in the form of Perl 5 modules like:

    • Perl6::Parameters
    • Perl6::Interpolators
    • Perl6::Currying
    • Perl6::Gather
    • Perl6::Placeholders
    • Perl6::Form
    • Perl6::Say
    • Perl6::Slurp
    • Perl6::Export

    To say nothing of the way that my own on-going struggle to implement the Perl6::Rules module is u

      • Perl 6 won't take that long, even though it's far more than twice as powerful.

      Could you nail this down for us? Is Perl 6 180% more powerful or 400% more powerful than Perl 5?

      Or are linear relationships of power difficult to quantify at this point? Could it be that the power of Perl 6 is ever increasing, exponentially proportional to the distance of its first release date?

      It must be frustrating indeed to have to meet the goal of producing a language that is "far more than twice as powerful" as Perl 5,

      • It must be frustrating indeed to have to meet the goal of producing a language that is "far more than twice as powerful" as Perl 5

        That was never a "goal"; it's merely an observed outcome.

        And, of course, it *is* nonsensical to try and nail down the exact increase in "power". But given that Perl 6 adds features like:

        • hyperoperators
        • junctions (superpositions)
        • coroutines
        • strong typing
        • subroutine overloading
        • multiple dispatch
        • declarative parameter lists
        • named parameters
        • currying
        • properties and t
          • Nevertheless, thanks for pointing out the absurdity of trying to quantify such improvements.

          You're welcome.

          I am, however, reminded of a quote that might be appropriate:


          A language that doesn't have everything is actually easier to program in than some that do. - Dennis M Ritchie
          • A language that doesn't have everything is actually easier to program in than some that do.

            Actually, I don't think that's appropriate at all. I doubt that many here would seriously argue that C or sh is actually easier to program in than Perl 5 (for most tasks). And yet Perl 5 has far more features than C or sh.

            How much is "in a language" is very close to irrelevant. What matters is *what* is in it. That's why DMR says "some that do". It's not the magnitude of the feature vector; it's the direction it

              • Actually, I don't think that's appropriate at all. I doubt that many here would seriously argue that C or sh is actually easier to program in than Perl 5 (for most tasks). And yet Perl 5 has far more features than C or sh.

              Well, I guess it's a good thing that neither I, nor as you point out, Dennis Ritchie, makes the point that a language that has more features is necessarily harder to program in.

              I was reminded of the Ritchie quote, however, because, to me, you seemed to be implying that a language that h

              • Look, I'm not really against Perl 6, but I am skeptical. The whole process seems to be the opposite of what has made Perl 5 so successful, incremental development with rigorous field testing.

                But that's precisely how we *are* developing Perl 6. Almost all of the new features we're folding in are either taken directly from, or refactored from syntheses of, existing modules or programming idioms. Here's a partial list of the rigorously field-tested modules whose useful functionality we are incrementally incorporating into Perl 6 at some level:

                • Attribute::Handlers
                • Attribute::Types
                • Class::Contract
                • Class::Delegation
                • Class::DispatchToAll
                • Class::MethodMaker (et al)
                • Class::Multimethods
                • Class::Roles
                • Coro
                • Error
                • Exporter::Simple (et al)
                • Fatal
                • File::Slurp (et al)
                • Filter::Simple
                • Hook::LexWrap (et al)
                • IO::File (et al)
                • Inline
                • Inline::Files
                • Lexical::Alias
                • List::Util
                • Math::BigInt (et al)
                • Memoize
                • NEXT
                • PDL
                • POE
                • Params::Validate
                • Parse::RecDescent
                • PerlIO
                • Quantum::Superpositions
                • Readonly (et al)
                • Regexp::Common
                • Regexp::Fields (et al)
                • Sub::Lexical
                • Switch
                • Text::Reform
                • Tie::SecureHash
                • Time::HiRes
                • Unicode::Normalize
                Not to mention all the parts of Perl 6 that we're specifically prototyping and experimenting with in Perl 5:
                • Perl6::Interpolators
                • Perl6::Parameters
                • Perl6::Currying
                • Perl6::Export
                • Perl6::Form
                • Perl6::Gather
                • Perl6::Placeholders
                • Perl6::Rules
                • Perl6::Say
                • Perl6::Slurp
                • Perl6::Variables
                • Perl6::Binding
                • Perl6::Classes

                So why (you ask) not leave them as modules? Why bring them into the core of the language? Because the existence of these module point to deficiencies in the incremental design of the language, or gaps in the language's support for the way people actually want to program. And because many of these behaviours are nearly impossible to get right in an external module; they need core integration and support.

                It's not really a criticism, just a concern. I have a lot invested in Perl 5 and I have to admit that a great deal of this investment is emotional. When people go around making invidious comparisons, stating that a new language will be "more than twice as powerful" when compared to Perl 5, it sets off alarms for me.

                And thank heavens it does. We need skeptics to keep us honest. ;-)

                But I probably write more Perl 6 than anyone else (even Larry). And every time I do, I'm astonished at how much easier even everyday tasks are in Perl 6. "Twice as powerful" isn't meant to be invidious. I love Perl 5. But it wasn't until I started coding in Perl 6 that I realized how awkward and difficult Perl 5 can still be. And how it doesn't have to be that way. Switching back from Perl 6 to Perl 5 now feels about the same to me as switching back from Perl 5 to C.

                Perl 5 rarely falls short for me. I am hopeful that Perl 6 will be satisfying as well.

                My experience so far is that Perl 6 is unquestionably a satisfying language to program in. And whenever I find it isn't, I report that to Larry and we fix it so it is.

                *That's* incremental language design. :-)

                  • And thank heavens it does. We need skeptics to keep us honest. ;-)

                  Thanks. I'm less skeptical now. Uh, does that mean I'm less likely to keep you honest? :-)
                  • Is it OK to be sceptical again?

                    • Now that you can download the latest Parrot release, build Rakudo, and actually play with a large and ever expanding subset of the language?

                    • In this thread, Damian reported to be productively programming in a useful subset of Perl 6 4.5 years ago.

                    • Who cares about 4.5 years ago? Who cares about Damian? I said you can work with Rakudo right now, and the size of the subset has been expanding at breakneck pace since last spring.

                      But if you want to play the sceptic, go ahead. You’ll be back anyway.

                    • KING'S

                      LEAD

                      HAT [livejournal.com]

                      was a mother to desire

                      It will come!

                      It will come!

                      It will surely come!