Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118754 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 49470 invoked from network); 5 Oct 2022 16:02:19 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 5 Oct 2022 16:02:19 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 32D04180538 for ; Wed, 5 Oct 2022 09:02:18 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15623 212.45.192.0/19 X-Spam-Virus: No X-Envelope-From: Received: from mail.gna.ch (mail.gna.ch [212.45.196.109]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 5 Oct 2022 09:02:17 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by darkcity.gna.ch (Postfix) with ESMTP id CB6953A1D93 for ; Wed, 5 Oct 2022 18:02:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at example.com Received: from mail.gna.ch ([127.0.0.1]) by localhost (darkcity.gna.ch [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xJxwEiT-9pnR for ; Wed, 5 Oct 2022 18:02:15 +0200 (CEST) Received: from smtpclient.apple (unknown [IPv6:2a02:1210:2ea4:cf00:1913:f276:8a65:142f]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by darkcity.gna.ch (Postfix) with ESMTPSA id 5CC5D3A0FD9 for ; Wed, 5 Oct 2022 18:02:15 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Wed, 5 Oct 2022 18:02:14 +0200 References: To: PHP Internals In-Reply-To: Message-ID: X-Mailer: Apple Mail (2.3696.120.41.1.1) Subject: Re: [PHP-DEV] Experimental features From: cschneid@cschneid.com (Christian Schneider) Am 05.10.2022 um 15:38 schrieb Alex Wells : > Advantages of experimental features over extensions: > - they allow changes to the parser > - they are universally supported (by IDE's, parsers etc) because they = are > part of a stable language release, not an unpopular/unknown extension > - usages of them can be found in a codebase and then analysed (unlike > extensions that don't have any kind of marker to denote them from = regular > code) > - it's easy to implement a universal warning mechanism - for IDEs, = static > analysers and PHP itself to warn users about the consequences of using = an > experimental feature > - they don't need a versioning mechanism, because they are effectively > always "alpha" - i.e. non-stable, so any PHP release can introduce a > breaking change into an experimental feature Just to maybe have a more complete picture, here are some possible = advantages of extensions over experimental features; - Core developers don't have to support/maintain it (they already have a = lot on their plate) - Extensions have the notion of alpha/beta/stable releases and they can = offer different versions at the same time. - Having to install them manually makes it obvious that you are on your = own if you use them in production but the notion of a stable extension = is an indication that it is not completely reckless :-) The fact that you explicitly list always being alpha as an advantage for = experimental features makes me wonder when I would actually use them:=20 - Certainly not in production? Which limits the amount of exposure such = a feature gets to real world usage, therefore limiting the amount of = insight in the usefulness too. - A branch for a future version of your code? But the experimental = feature could disappear anytime again, do you want to rely on the = feature at some point becoming standard? My $.02, - Chris