Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^4: Perl 6: Managing breakages across Rakudo versions

by Anonymous Monk
on Jul 17, 2012 at 11:10 UTC ( #982201=note: print w/ replies, xml ) Need Help??


in reply to Re^3: Perl 6: Managing breakages across Rakudo versions
in thread Perl 6: Managing breakages across Rakudo Star versions

Well by all means, that is a great thing

But if you are not going to break backwards compatibility, that more or less counts as a production release, because then you are announcing the future releases are going to be feature additions and bug fixes but not deprecations and no feature breakage are going to happen

In that case the original email in which Patrick mentions Perl 6's versioning system of specifying version numbers to denote a set of semantics that remain valid with backwards compatibility stands to apply.

Anything less than this isn't a stability support policy at all. Because then you are just saying you are going to fix bugs, which you are going to anyway.

So should we take this a indication for a first backward compatible(No going back after this) Perl 6 release, or more appropriately a production release? In such a case I'm game for a discussion, because that would make a lot of dreams of many people come true.


Comment on Re^4: Perl 6: Managing breakages across Rakudo versions
Re^5: Perl 6: Managing breakages across Rakudo versions
by moritz (Cardinal) on Jul 17, 2012 at 11:35 UTC
    But if you are not going to break backwards compatibility

    "not breaking backwards compatiblity" isn't on the menu plate at all. The original question was how to manage breaking changes:

    In practice what this means is that we want to minimize the number and impact of any "breakages" that people encounter when using existing code on subsequent releases of Rakudo Star.

    So, the question is not "should we stop to break backwards compatiblity", but "how do we do it while doing least harm to our users".

    I don't think that chosing one release and declaring it "production ready" out of the blue, and not doing any breaking changes is going to work. It's much more realistic to first learn how to handle such changes gracefully, then reduce the number of breaking changes, and if that works well, we can start using a stricter policy.

      This doesn't fit in to what is the general definition of a support policy/stability policy.

      Perl 6 is making this a habit to take well used, defined and understood terms and give them totally different meanings. And then then expect the whole world to relearn those new meanings.

      The general definition of a support/stability policy is to define what will be fixed, when it will be fixed, and till how long the fixes will be provided between two 'No going back from once made to public' releases. That's how Perl 5 defines it and all software that is released

      I think what you are talking of is number of test cases failed or spec coverage affected with a particular refactoring effort. In that case a stability policy is meaningless. For a programming language, many features depend on each other.

      A program has many parts, many that depend on each other. If you say you are breaking a very tiny part of it, in essence you break the whole program Eg: If you break the addition operator, you are likely to break all while loops in a program, that is likely to break nearly everything. Therefore a stability policy for any such non backwards compatible release doesn't make much sense.

        I think the idea is to make Rakudo a viable platform for developing extensions (like, say, LWP6, DBI6, AnyEvent6) for. Nobody will port a library to Rakudo if there is no soft or hard promise of how much breakage will happen how fast.

        I interpret the call for comments as an attempt to gauge how much interest there is in stability of Rakudo, and/or as an announcement that Rakudo will try to change less radically or less quickly than it did before.

        This doesn't fit in to what is the general definition of a support policy/stability policy.

        So, who said we are going to have a support policy/stability policy, and that it doesn't meet the general definition of these terms? Once again, we were asking for feedback on how to manage changes. I think you're reading things that weren't written.

        If you are a user or a potential use of Rakudo, actual, non-bikeshedding feedback on that topic is very much appreciated.

        I think what you are talking of is number of test cases failed or spec coverage affected with a particular refactoring effort.

        No.

        Eg: If you break the addition operator, you are likely to break all while loops in a program, that is likely to break nearly everything. Therefore a stability policy for any such non backwards compatible release doesn't make much sense.

        Imagine that Perl 6 and Rakudo have reached the point that it's very unlikely that such a basic problem would occur but might. More generally, issues are much more likely to arise than with a mature product such as Perl 5.

        If you were writing Perl 6 code that runs under Rakudo, wouldn't you want to know what the Rakudo team thinks about such things? Wouldn't you want to know whether they'd consciously break the addition operator and how much notice you might get if they did, and what happens if it occurs accidentally, and so on? Wouldn't you want to know what explicit commitments they are making in this regard? Wouldn't you want to participate in discussions about this?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (9)
As of 2014-08-21 22:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (144 votes), past polls