Re: Experimental features
| From: | Alex Wells | Date: | Thu, 06 Oct 2022 13:00:51 +0000 |
| Subject: | Re: Experimental features | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-118766@lists.php.net to get a copy of this message | ||
> On 6 Oct 2022, at 15:26, Christoph M. Becker <cmbecker69@gmx.de> wrote:
>
> On 04.10.2022 at 22:42, David Rodrigues wrote:
>
>> I wanted to suggest the possibility of introducing experimental features to
>> PHP.
>>
>> This is an old thread I guess, but I think it's good to reevaluate the
>> situation from time to time, as other languages already do this to some
>> extent and PHP doesn't. Some platforms/languages (Node, Kotlin) and
>> libraries (React) bring features natively in an experimental way.
>>
>> I wanted to propose that we bring this idea into PHP, so we wouldn't have
>> to wait for new major/minor versions (eg. 9.0 or 8.2, 8.3) to try out these
>> new features, and so when these versions arrive, they'll already be quite
>> polished, avoiding patches sometime later due to wider usage of users.
>
> Do the other platforms introduce experimental features in revisions? I
> doubt that, and I'm pretty sure that is (at least currently) no option
> for PHP. We have several months of bi-weekly pre-releases for new
> minor/major versions, and are barely able to stabilize new features; not
> only wrt. to the feature itself, but also wrt. unforeseen side effects.
>
> The current release cycle[1] still mostly makes sense to me, and that
> says for revisions:
>
> * Bugfixes only (with a room for exceptions on a case by case basis and
> only for small self contained features additions)
>
> I wouldn't want to sacrifice stability in favor of shipping new features
> every month – including having more discussions about which feature may
> be introduced in a revision.
>
> [1]
> <https://wiki.php.net/rfc/releaseprocess#releases_cycle>
>
> --
> Christoph M. Becker
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>
Speaking of Kotlin, there are no rules regarding experimental features. This is because they
extensively use their "opt-in" API, which allows them to mark even a single
function/method as experimental. It doesn't make sense to wait a minor release for a year to
introduce a single new function.
Of course, any medium-large size features are kept to minor/major releases.