develooper Front page | perl.perl5.porters | Postings from December 2017

Re: We need a language design process.

Thread Previous | Thread Next
From:
Dan Book
Date:
December 30, 2017 01:03
Subject:
Re: We need a language design process.
Message ID:
CABMkAVWxUYhrRwkSuLPsaWW0g1q6czuT+psJ36gQ5fHuD1z=Nw@mail.gmail.com
On Fri, Dec 29, 2017 at 7:12 PM, Rocco Caputo <rcaputo@pobox.com> wrote:

> On Dec 29, 2017, at 17:32, John Alvord <johngrahamalvord@gmail.com> wrote:
>
> Seems like an experimental feature that has been allowed to remain for
> many years becomes a defacto feature... sort of like a British public
> footpath. So remove the experimental designation and reduce
> confusion/friction.
>
>
> Grandfathering in experimental features isn't a design process.  It should
> not be done on the metaphorical eve of having a process.
>
> I propose that the "experimental" flag be deprecated.
>
> It doesn't work.  People YOLO experimental features into CPAN and
> production DarkPAN anyway.  Rescinding experimental features becomes
> problematic.  Perl development stalls because progress would break a lot of
> ill-advised code.  This bolsters the public expectation that "experimental"
> features are safe to use.
>
> I propose that the "experimental" flag be enforced regardless what breaks.
>
> Expectations have been managed poorly.  One solution is to take a hard
> line on experimental features.  If the public knows the Porters mean
> business, they'll stop YOLOing so much, and the flag might work as
> originally intended.
>
>
This is a mostly unique case. The feature was not experimental until Perl
5.18 and many users still use perls older than that, and unfortunately the
only way most Perl users can be reached is by warnings their code throws
once they upgrade their Perl. The experimental flag has worked as intended
in the past both for features that were later dropped (autoderef comes to
mind) and features that were later accepted (postderef, lexical
subroutines). The only other instance of a retroactively experimental
feature I know of is lexical $_, which was removed in Perl 5.24 without
much ado (nobody really used it).

-Dan

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About