Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

Re^6: Hockey Sticks

by raiph (Friar)
on Jul 10, 2012 at 00:27 UTC ( #980792=note: print w/ replies, xml ) Need Help??


in reply to Re^5: Hockey Sticks
in thread Hockey Sticks

As I've carefully explained in my January responses in this thread to chromatic, he had misread the rakudo.org front page, and had misunderstood what had been happening with Rakudo releases. This July 2012 update will hopefully make the reality crystal clear.

The latest version of Rakudo, a Perl 6 compiler, has to date been formally released monthly for around 5 years, with the exception of one month in mid-2011.

Rakudo Star, a bundling of a version of the Rakudo compiler plus extras (modules, doc, etc.) has to date been formally released quarterly or monthly for about 2 years, with the exception of skipping October 2011. It has been released monthly since Jan 2012.

Of the lastest, Rakudo Star 2012.06, ajs, who I believe had left Perl 6 alone for a year or so, says "I can't begin to stress what a dream it is to work in Rakudo Star 2012.06 compared to any other implementation of P6 I've ever touched".

chromatic is right about the need to see past the enthusiasm of the likes of myself and ajs (and, at one time, and hopefully one day again, chromatic himself), but I am convinced it is important that P5 folk take Larry Wall, and hence P6, seriously.


Comment on Re^6: Hockey Sticks
Re^7: Hockey Sticks
by Anonymous Monk on Jul 10, 2012 at 07:50 UTC

    Firstly a release has a meaning, taking the current snapshot of the trunk at some fixed date of a month and shipping isn't a release. I don't know from where the term release originated. But when I think of a release, I think of it analogous to a movie release. The movie is 'done'. There can be sequels to the movie, or further parts released later. But the movie released on a date is 'finished' and 'completed' in a defined scope.

    What you are talking about is not a release, but I think the appropriate word for it is milestone. You achieve a milestone. And you have internal goals achieved through aiming to get to that milestone.

    Now lets talk about taking Perl 6 seriously. Let me tell you everyone that genuinely critics Perl 6 has at one time taken Perl 6 too seriously, hoped and waited for endless time and then given up. I see some problems in marketing and talking about Perl 6. Firstly you need to come up with something solid and then announce, or you shouldn't announce at all. Because the words 'Production release' , '1.0.0', 'ready', 'done' have semantics beyond their dictionary meanings in the software world. Its something like the word 'bug', do we actually have biological worms and pests in software? No! But those words have different meanings beyond their dictionary context.

    For most Perl 5 developers, 'Production ready', 'complete', 'done' or any other equivalent word means software at least as much ready and usable as Perl 5 is. There fore if you ever want Perl 6 to be 'complete', its likely to never be- considering the scope and breadth of the work. Its likely to take eternity to capture it as a whole in entirety. Its really huge, I mean Perl 6 specification is something which you don't aim to achieve in one go! Its not possible.

    Its like linux, Imagine if Linus went out to write Linux as it exists today when he was a student. I doubt if it would ever be possible. Big, things including Perl 5 itself are built over years! Incrementally and slowly! The right path for Perl 6 should have been in that direction. We needed a Production ready release that could be grown further. Then we could have evolved, extended or do whatever we wanted.

    But instead what we have now is some 3 implementations(?), None of them you could compare to Perl 5 level readiness. None of them complete in scope they aimed for. I seriously doubt if the current path will lead to anything usable in coming years either. Its these reasons why people find it difficult to take it seriously anymore.

    Programming world is swiftly moving, and new things keep coming every year. I doubt if Perl 6 will even be relevant if it ever comes out in the far future.

        Just to be sure, you recognize that TheDamian was speaking somewhat tongue-in-cheek, right? He didn't really mean that P6 should have been developed as a closed, private project!

      What the Parrot, Rakudo and niecza teams ship is what wikipedia defines as a "software release".

      The Rakudo compiler release process is indeed much less formal than Perl 5's, but there is much more to it than you suggest. Patrick is currently rewriting the release management document; visit #perl6 if you're interested in more details.

      > I see some problems in marketing and talking about Perl 6.

      Oh boy, me too! Forget marketing. Just talking about P6 where it is ostensibly supposed to be discussed, eg in this meditation, or announcing releases using the Perl reddit tag, routinely attracts trolls.

      > Firstly you need to come up with something solid and then announce, or you shouldn't announce at all.

      Which announcements are you talking about? The monthly releases (or whatever you wish to call them)? Would you call this meditation an announcement?

      > the words 'Production release' , '1.0.0', 'ready', 'done' have semantics beyond their dictionary meanings in the software world.

      Right. I'm unaware of anyone applying those words to Perl 6 as it currently stands. Perhaps the closest is that Larry has recently begun to talk about productizing Perl 6 over the "next year or two".

      > For most Perl 5 developers, 'Production ready', 'complete', 'done' or any other equivalent word means software at least as much ready and usable as Perl 5 is. Therefore if you ever want Perl 6 to be 'complete', its likely to never be- considering the scope and breadth of the work.

      I agree. It would be a mistake to only ship P6 when it's "complete" in that extreme sense.

      > I seriously doubt if the current path will lead to anything usable in coming years either.

      Several users have P6 solutions currently in use in production settings; how could they if it's not usable?

        Beyond the Perl 6 IRC channel, mailing lists and people attending hackathons. The software world has some 'perceptions' and defaulted semantics of terms release, production ready, complete, stable, usable etc. You can argue against it, but that is beyond the point. And explains my point regarding 'Marketing problems' we have. Lets say you go to a county, where they interchangeably call milk as water and water as milk. You know that is not true. You try to explain the whole country to correct themselves. But they are so much throughout generations trained to perceive them as such. The only option you have is to endlessly go on and correct the whole country(And they will never change) or 'change yourself'. The second option is better, because when you do that you begin to understand that they were actually right.

        So lets try for a production ready release, which is as much production ready as much as Perl 5 is. Which I am pretty sure Perl 6 isn't today. Any thing other than that, and you are now going on a different plane. Moving the goal post, to ensure your goal counts is not how it should be done

        Regarding Perl 6 being ready in an 'year or two', I take it for face value. Because reading the feature completion matrix once shows very few '-'s and there I believe 'its almost complete'. Regarding how much time remaining '-'s will take, we don't know. And even if they take little time, how many re writes it will take to get there is another question. And how many backends to which it will ported before those few '-'s are implemented is an another question.

        So even though there are a few features left to complete, I doubt if rewrites, multiple backends and other stuff will allow you to get there in 2 years. Having said that even two years is a long time, and lot of things change in two years.

        routinely attracts trolls

        I won't ask you to define troll in this instance, but I do have a question.

        Has anyone performed even rudimentary benchmarking of the various implementations of P6?

        I'm still attracted to (what I remember of) the P6 syntax, but for the type of applications I mostly write -- generally cpu-bound -- cool syntax isn't sufficient justification for taking a 10x or even 5x performance hit over P5.

        A simple benchmark -- as a minimalistic start I'd suggest: a) a non-trick, non-caching implementation of Ackermann; b) Stirling's series; c) the string handling benchmark from here; -- would give a somewhat real-world measurement of how the implementations are progressing from that point of view against P5, each other, and against themselves over time.


        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.

        The start of some sanity?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2014-08-23 13:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (174 votes), past polls