RE: [PHP-DEV] Changing fundamental language behaviors
| From: | Zeev Suraski | Date: | Thu, 12 Sep 2019 15:27:58 +0000 |
| Subject: | RE: [PHP-DEV] Changing fundamental language behaviors | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-106974@lists.php.net to get a copy of this message | ||
> -----Original Message-----
> From: Olumide Samson <oludonsexy@gmail.com>
> Sent: Thursday, September 12, 2019 6:03 PM
> To: Dan Ackroyd <Danack@basereality.com>
> Cc: Zeev Suraski <zeev@php.net>; PHP internals <internals@lists.php.net>
> Subject: Re: [PHP-DEV] Changing fundamental language behaviors
>
> The RFC is Request for Comment on any changes, is there an explicit or implicit
> mention about what kind of proposed changes can be made?
While the Voting RFC was probably one of my worst creations - because it's was so laconic and
lacking (although it still probably did more good for PHP than bad) - yes - there's a strong
implication as to what it's meant to deal with and what it isn't meant to deal with.
Here's what the Voting RFC said:
"Given that changes to languages (as opposed to changes to apps or even frameworks) are for the
most part irreversible"
I understand this isn't written black-on-white that you can't deprecate a fundamental
language behavior. But it's clear that "having to win a 2/3 vote" isn't quite
the definition of "irreversible". The idea behind the 2/3 requirement (a number that I
came up with) was to ensure that the motivation to undo that addition/change will likely remain very
low in the years following the vote on the RFC. Why? Because once it's in - it's in. It
cannot be taken out. It's irreversible.
So no, a 2/3 vote does not get us the mandate to deprecate a fundamental language behavior.
It's basically a reasonably high bar to add something to the language - given that we know that
once we add it, we cannot take it away. Nothing more, nothing less.
Zeev