"Useful and usable" Perl 6 release coming in April
To me, one good answer is to start making releases of Perl 6 that may not implement the entire Perl 6 specification, but that application writers will feel comfortable enough to start using in their projects. I've started to call these 'useful releases' or 'usable releases'. While it might not have every feature described in the Perl 6 synopses, enough features will be present that can make it a reasonable choice for application programs."
Posted Aug 6, 2009 15:29 UTC (Thu)
by iq-0 (subscriber, #36655)
[Link] (4 responses)
Posted Aug 6, 2009 22:57 UTC (Thu)
by chromatic (guest, #26207)
[Link] (3 responses)
Posted Aug 6, 2009 23:13 UTC (Thu)
by b7j0c (guest, #27559)
[Link] (2 responses)
Posted Aug 6, 2009 16:57 UTC (Thu)
by cpeterso (guest, #305)
[Link] (1 responses)
Posted Aug 6, 2009 22:56 UTC (Thu)
by chromatic (guest, #26207)
[Link]
Posted Aug 6, 2009 17:17 UTC (Thu)
by b7j0c (guest, #27559)
[Link]
the perl6 team(s) have been doing the right thing. they took out the mystery meat...there are monthly releases and detailed status reports. yeah would we have like to be on perl6.3 by now? sure....but i have more confidence in this team now than ever before.
explore the language...its very cool.
Posted Aug 6, 2009 18:16 UTC (Thu)
by tdz (subscriber, #58733)
[Link] (7 responses)
I hope that this doesn't turn out for them as it did for the KDE people. Releasing early is good, but releasing a major version too early only gives a lot of bad press. And a pearl like Perl really doesn't deserve that.
Thomas
Posted Aug 6, 2009 18:43 UTC (Thu)
by yokem_55 (subscriber, #10498)
[Link] (2 responses)
Posted Aug 6, 2009 21:16 UTC (Thu)
by tdz (subscriber, #58733)
[Link] (1 responses)
> This has been the big success for KDE with the release of 4.0, their developer base has had a strong growth
The cynic in me just thought that KDE 4 turned every user into a developer; or away completely.
But yes, you are right. Releasing too late is as bad as releasing too early. I just hope that is works out for the Perl folks.
Thomas
Posted Aug 7, 2009 8:06 UTC (Fri)
by iq-0 (subscriber, #36655)
[Link]
But until that time I foresee that too many people/companies have too much depending on perl 5 that nobody will keep on supporting it. And that is the main difference with KDE, here nobody really has hard dependencies on KDE 3, just on a working desktop environment and applications that (still) work.
Posted Aug 7, 2009 21:03 UTC (Fri)
by cyd (guest, #4153)
[Link] (2 responses)
Posted Aug 7, 2009 23:14 UTC (Fri)
by clump (subscriber, #27801)
[Link]
Posted Aug 8, 2009 2:00 UTC (Sat)
by chromatic (guest, #26207)
[Link]
Posted Aug 7, 2009 23:39 UTC (Fri)
by plunix (guest, #59652)
[Link]
Posted Aug 7, 2009 7:27 UTC (Fri)
by epa (subscriber, #39769)
[Link] (4 responses)
Posted Aug 7, 2009 10:44 UTC (Fri)
by chromatic (guest, #26207)
[Link] (3 responses)
We can predict neither volunteer availability nor unforseen difficulties in adding features, so we don't schedule releases based on the availability of features. Any "milestone" is "it's been a month since the previous release and this release is better than the previous release".
We release new, tested, stable versions of the software we create every month so that we keep trunk stable, work in small steps, and work to a cadence that results in frequent improvements made available on a reliable schedule. We don't play games with version numbers and alphanumeric qualifiers such as "alpha" or "pre-alpha" or "release candidate". We don't maintain several simultaneous branches for "testing" and "stable" and "really stable" and "development happens here, ripe for cherry picking."
In short, *we release software* -- once a month, every month, every release a little more featureful, a little less buggy, a little faster, and a little more polished than the previous.
As Patrick mentions, the words "useful" and "production" have tremendous overloading in English. The word "finished" is all but meaningless when applied to software. His prediction is that the iterative improvement cycle of Rakudo's releases will produce software that is useful for a lot of tasks by April 2010. The May 2010 release will be better yet, and so on, and so forth.
Posted Aug 8, 2009 11:01 UTC (Sat)
by epa (subscriber, #39769)
[Link] (2 responses)
You are right that qualifiers like 'alpha' and 'production' have all sorts of overloading. But then so does 'stable': in some people's minds it implies 'the API is complete', or 'guaranteed backward and forward compatibility', neither of which apply to Rakudo. That is why you can rub people up the wrong way if you talk about 'stable releases' in a way that doesn't match their expectations.
So I think it would be better to just point out that a new Rakudo release is made regularly, and each release covers more of Perl 6 than the last, although there is not yet a complete implementation. Leave others to decide whether it is 'stable' or 'production' or 'useful' according to their own criteria for those terms.
I expect that when Rakudo implements all of Perl 6 and/or people start using it for production applications, you will start to need separate 'maintenance' and 'new development' branches. You might even say that when a program reaches that stage of development, it can be considered stable.
Posted Aug 9, 2009 15:53 UTC (Sun)
by pmichaud (guest, #60150)
[Link]
I agree fully. As I've said in other forums, I have no intention of ever using the word "stable" in association with Rakudo releases. I think "stable" has to be determined within a given context, and even for something like Perl 5 (that has a 15+ year history) the word "stable" can be quite misleading. So yes, we'll focus on what Rakudo can and cannot do, and try to make it as easy as possible for others to decide if Rakudo is stable enough for their purposes. Pm
Posted Aug 16, 2009 14:13 UTC (Sun)
by efexis (guest, #26355)
[Link]
"Useful and usable" Perl 6 release coming in April
At least the errors are starting to look meaningful and simple thing are pretty straight forward. But at this moment performance is still abysmal so for me it's still a big no for anything serious. But perhaps a small pet project might find itself being written in perl 6 :-)
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
But perl 6 (at least in te early years) will not deprecate perl 5 at once, in will first just be an alternative language. Once perl 5 runs natively on parrot and performs adequately there is a chance of faster "deprecation" of perl 5 because the border between perl 5 and perl 6 will be fading (and people requiring more and better will probably start shifting towards perl 6).
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
"Useful and usable" Perl 6 release coming in April
Probably not really an issue. A lot of the reason the early KDE release was seen as so bad was because it's a desktop environment. It thus affects everything a user does on his computer. If it takes longer to do switch between windows or start a new program (for example), overall productivity is going to drop, across the board, for everything done on the computer. A language missing features is only going to affect what you write in that language.
"Useful and usable" Perl 6 release coming in April
Does this plan for a 'useful' release mean an end to the strange focus on 'stable' releases that are in fact just development milestones?
'Useful' releases are a good metric
'Useful' releases are a good metric
'Useful' releases are a good metric
Neither Rakudo nor Parrot gets released without passing their test suite on all target platforms. Hence "stable".
I see. Normally, I would not expect any software to be released without passing its test suite, even in an 'unstable' release. But I understand where you get the term from.
'Useful' releases are a good metric
So I think it would be better to just point out that a new Rakudo release is made regularly, and each release covers more of Perl 6 than the last, although there is not yet a complete implementation. Leave others to decide whether it is 'stable' or 'production' or 'useful' according to their own criteria for those terms.
" in some people's minds it implies 'the API is complete', or 'guaranteed backward and forward compatibility', neither of which apply to Rakudo"'Useful' releases are a good metric
And neither can you keep horses in it, which threw me at first... I think most people share neither interpretation though, with "stable release" and "stable across releases" meaning different things (such as API is stable across releases, so changing which release you use won't break things, as opposed to a stable release, meaning it itself won't break things, doesn't have memory leaks or hay in the corner... oops back to horses again).