Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118799 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 10589 invoked from network); 11 Oct 2022 18:40:56 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Oct 2022 18:40:56 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id DEF30180384 for ; Tue, 11 Oct 2022 11:40:55 -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,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (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 ; Tue, 11 Oct 2022 11:40:55 -0700 (PDT) Received: by mail-qk1-f182.google.com with SMTP id f8so1667621qkg.3 for ; Tue, 11 Oct 2022 11:40:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20210112.gappssmtp.com; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ERXP2iM/WzkUyiKAUdbFar/Y33rTMi++1cRMq+L2sN4=; b=j4zQMnlYM7v55v4GcRUeA0Yt2Pyq1rODuO6hsQd9NJMW6UIGpN8qs85zNCPnRS0eVL or9E25rqOYzdYUZ6TX94NnWod7/1Ep+0CiZdIn31iItZya7pQzd8/qQO84bfhmpDoNDh /wVaxr+VPu0wskCYxcpqLRCLvIcMHOHZxhZQLw3+cwgs9bIoNZIeK2rESIj5rXHrs7Q2 KZf9JUR8zmiSX2MlIR8o2I3sL8jgGim7QHD+JICyEcAajB2dWABU06m0NFj7ecu/HDh4 IyQj9uR/SJR3dhuidlXbGcSJaOP4esVk5rXh3F9cssKQ6D+kvAb74EFCzTOkxc5zUYLa IzKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ERXP2iM/WzkUyiKAUdbFar/Y33rTMi++1cRMq+L2sN4=; b=q42A+YP2iifp7MmUviuX9gWg3jEHqwV5MMW6+IEK4+nIV1QBnNqO+OHwznzSIw3oLD JY6V6tCAQGrip+8ODcusoa+5xZX1XRlYFDyJbKsU0gWCCyuGiPU6CADkqLLp6S0q8ZrJ S5+kbW9OnfQTjKanGWft1kdn7EXYGyImSd+xOGqHCjIx/2gBgoqdm8Kmh+SEVGrpVOhs mad+wrRusA+ki3sI9cQKXAxambeJO3rpS7enlv+1lcfVIVLI7lCrtz+Vn7TFeKSlJq/4 9ba97Pw7cIC8/QkZcC4JOSVRK08mRl7ROFi3pVs04L1AsEfkUfNRvQ1iFX4BLOj2K9Wk I7WQ== X-Gm-Message-State: ACrzQf0Z4tpxcfVXoc9nb85OFs0P5FiL2dvVsDJiil56WzFkYse7ecDo xFa7IQx1yr9pflbDgo6DF9D+1sRwVWrXnQ== X-Google-Smtp-Source: AMsMyM5sCMIlEvX1B7n6oRM/bOPvPO/YyFy7quFicLo9wmp9jEp+1+vGouQ3jS9U95wc1wI1DcwQgQ== X-Received: by 2002:a05:620a:440a:b0:6ed:3484:ec8 with SMTP id v10-20020a05620a440a00b006ed34840ec8mr7256340qkp.27.1665513654822; Tue, 11 Oct 2022 11:40:54 -0700 (PDT) Received: from macbookpro.local (c-24-98-254-8.hsd1.ga.comcast.net. [24.98.254.8]) by smtp.gmail.com with ESMTPSA id bn13-20020a05622a1dcd00b0039492d503cdsm10951915qtb.51.2022.10.11.11.40.53 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Oct 2022 11:40:54 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) In-Reply-To: <29756830-87E9-468B-92B8-3D0906A2A34C@cschneid.com> Date: Tue, 11 Oct 2022 14:40:53 -0400 Cc: PHP Internals Content-Transfer-Encoding: quoted-printable Message-ID: References: <5EBAAEBD-4F9E-4832-BBDD-6E67D8758490@gmail.com> <29756830-87E9-468B-92B8-3D0906A2A34C@cschneid.com> To: Christian Schneider X-Mailer: Apple Mail (2.3608.120.23.2.7) Subject: Re: [PHP-DEV] Experimental features From: mike@newclarity.net (Mike Schinkel) > On Oct 11, 2022, at 8:24 AM, Christian Schneider = wrote: >=20 > We seem to have two different views on experimental feature here: You = are saying they could get removed again while others stated it is for = stuff which will definitely end up in stable when the next major release = is done. >=20 > IMHO there needs to be a consensus about this before we can continue = the discussion, otherwise we will go around in circles. True. In my view experimental would allow to features to be tried that = might get removed, but others may not want that. However, I think it is really a moot point because of RFC voting. If = enough people felt it might get removed they would vote against it. And = if after something was experimental if enough people felt it should be = removed they would vote to do so. So each individual RFC as well as voting addresses that concern. > That's another thing where we need to find an agreement first: Are we = talking new, isolated functions or are we possibly also talking about = core new language features (i.e. new syntax / semantics)? >=20 > The work for maintenance by core developers could be much higher if it = is not limited to new functions. > This is IMHO an important aspect as we do not want to make life even = harder for the core team. Again, each individual RFC and voting address that concern.=20 If an experimental RFC would resolve it "too much" maintenance by core = developers then it would get voted down. A 2/3rd bar for success is not = a low bar, especially in a community with so many divergent opinions.=20 > Hot take: If it is only about new functions then we don't need = anything in the core, just create an \Experimental package with poyfills = and you're done ;-) My hot take: Having the entire PHP community made aware of a given = experimental function =E2=80=94 including all the blog posts that would = be written about it =E2=80=94 is !=3D to an individual developer = creating an \Experimental namespace and writing their own blog post = about it.=20 >> Not all potentially useful functions can reasonably be implemented in = userland PHP. >=20 > ... but almost all of them can. See reply in prior paragraph. > I'd go as far as saying that while emulating json_validate() using = json_decode() is slower and uses more memory it still is a valid = polyfill. It is IMHO easy enough to develop with a higher memory limit = and performance is not that critical for development either. For json_validate() people have *already* been using a polyfill, and it = was found sorely lacking for memory-use reasons. So a reason for making = it experimental would be to see if the proposed signature was sufficient = for mainstream needs. Oh, and a higher memory limit is not always a viable solution. > And unless you want to ship experimental code to production (which you = shouldn't) you will have to wait for the next major PHP release anyway. Not all "production" code is equal. My blog !=3D Wikipedia, for example. -Mike=