[33017] in Perl-Users-Digest
Perl-Users Digest, Issue: 4293 Volume: 11
daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Fri Oct 3 03:09:16 2014
Date: Fri, 3 Oct 2014 00:09:03 -0700 (PDT)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Perl-Users Digest Fri, 3 Oct 2014 Volume: 11 Number: 4293
Today's topics:
Re: clever equal still experimental after so much time <rweikusat@mobileactivedefense.com>
Re: clever equal still experimental after so much time <hjp-usenet3@hjp.at>
Digest Administrivia (Last modified: 6 Apr 01) (Perl-Users-Digest Admin)
----------------------------------------------------------------------
Date: Thu, 02 Oct 2014 13:05:25 +0100
From: Rainer Weikusat <rweikusat@mobileactivedefense.com>
Subject: Re: clever equal still experimental after so much time
Message-Id: <87k34iekxm.fsf@doppelsaurus.mobileactivedefense.com>
Martin Eastburn <lionslair@consolidated.net> writes:
> On 10/1/2014 7:17 AM, Rainer Weikusat wrote:
>> Justin C <justin.1401@purestblue.com> writes:
>>> On 2014-09-29, George Mpouras <gravitalsun@hotmail.foo> wrote:
>>>> use strict;
>>>> use warnings;
>>>> my %hash = qw/k1 1 k2 0 k3 1/;
>>>>
>>>> print %hash ~~ sub{$hash{$_[0]}} ? 'all true' : 'nope'
>>>
>>> Smartmatch is experimental.
[...]
>>> In other words, don't use it because it might do something
>>> different next week. If you can cope with that, go ahead but
>>> you'd be a fool to put it in production code just yet.
>>
>> And that's a non-sequitur: Some future (or already released but
>> 'relatively future') Perl version may "change the behaviour of the
>> feature or remove it". Consequently, such a Perl version possibly can't
>> be used for known-be-working production code, at least not without
>> either changing the former or the latter.
>>
> It is a kin to using an op-code in a processor that is not working right
> in a program and get your results. Then another gets the same program
> and the results differ.
An experimental feature is documented to work in a certain way in a
certain perl version but it may work differently or be removed
altogether in future perl versions.
An "opcode in a processor that's not working right" would refer to some
out-of-spec behaviour of a piece of hardware with not entirely known
effects, unknown causes and unknown extent (in the sense that just
this CPU may be faulty and that a different specimen of the same model
may work as documented or fail to work in a different way).
And these are two very much different situations[*] (software and hardware
are generally not comparable in this way).
[possibly inflammatory content below the page break]
[*] One of the more miserable situations I found myself in in the past
was sitting in an office in a rather small Chinese factory equipped with
a laptop and a usb-2-serial converter in front of an ARM9 board I was
supposed to put an operating system on without any prior experience with
doing something like this and no experience working at this level in
general. Whenever I tried to put data into the flashrom, the board would
cease to function midway. After much wailing, gnashing of teeth,
cursing, desperation and a lot of reading, I made it into the flash
writing code in the bootloader (written in ARM9 machine
language). There, I found some bizarre looking code which had no
resemblance to the algorithm supposed to be used to program this kind of
flash ROM documented in the manufacturer's manual alongside a comment
which said (paraphrase) "This is not how it is supposed to be done but
we've tested it". Replacing that with the documented procedure
immediately caused my problems to go away.
Morale: Trust no software written by a hardware guy further than you
could throw him.
------------------------------
Date: Thu, 2 Oct 2014 16:30:49 +0200
From: "Peter J. Holzer" <hjp-usenet3@hjp.at>
Subject: Re: clever equal still experimental after so much time
Message-Id: <slrnm2qocp.nm8.hjp-usenet3@hrunkner.hjp.at>
On 2014-10-01 12:17, Rainer Weikusat <rweikusat@mobileactivedefense.com> wrote:
> Justin C <justin.1401@purestblue.com> writes:
>> On 2014-09-29, George Mpouras <gravitalsun@hotmail.foo> wrote:
>>> use strict;
>>> use warnings;
>>> my %hash = qw/k1 1 k2 0 k3 1/;
>>>
>>> print %hash ~~ sub{$hash{$_[0]}} ? 'all true' : 'nope'
>>
>> Smartmatch is experimental.
>>
>> "If something in the Perl core is marked as experimental, we may
>> change its behaviour, deprecate or remove it without notice. While
^^^^^^^^^^^^^^
>> we'll always do our best to smooth the transition path for users of
>> experimental features, you should contact the perl5-porters
>> mailinglist if you find an experimental feature useful and want to
>> help shape its future."
>
> That's an invitation for users of experimental features to consider
> participiating in their future development.
>
>> In other words, don't use it because it might do something
>> different next week. If you can cope with that, go ahead but
>> you'd be a fool to put it in production code just yet.
>
> And that's a non-sequitur: Some future (or already released but
> 'relatively future') Perl version may "change the behaviour of the
> feature or remove it". Consequently, such a Perl version possibly can't
> be used for known-be-working production code, at least not without
> either changing the former or the latter.
The operative words here are "without notice". Every feature of Perl
might be changed at some time in the future, but "stable" features
need to be deprecated first. So that's at least one release cycle of
advance warning - likely (much) more, and if Perl's history is any
indication of the future, features which are in wide use are unlikely to
be removed at all.
An experimental feature might just vanish or do something different in
the next release, and the barrier is much lower. Of course there are
some features which have been marked as experimental for ages and which
were unlikely to be removed (for example, (?{code}) and (??{ code })
were introduced in 5.6 and finally accepted in 5.20).
So the difference is mostly one of degree.
hp
--
_ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung:
|_|_) | | Man feilt solange an seinen Text um, bis
| | | hjp@hjp.at | die Satzbestandteile des Satzes nicht mehr
__/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel
------------------------------
Date: 6 Apr 2001 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin)
Subject: Digest Administrivia (Last modified: 6 Apr 01)
Message-Id: <null>
Administrivia:
To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.
Back issues are available via anonymous ftp from
ftp://cil-www.oce.orst.edu/pub/perl/old-digests.
#For other requests pertaining to the digest, send mail to
#perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
#sending perl questions to the -request address, I don't have time to
#answer them even if I did know the answer.
------------------------------
End of Perl-Users Digest V11 Issue 4293
***************************************