Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120307 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 71893 invoked from network); 16 May 2023 11:03:39 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 May 2023 11:03:39 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 59828180384 for ; Tue, 16 May 2023 04:03:38 -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=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, 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-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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, 16 May 2023 04:03:37 -0700 (PDT) Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-64a9335a8e7so4703864b3a.0 for ; Tue, 16 May 2023 04:03:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1684235017; x=1686827017; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=/SlLDyR9OHT3oGCleoxYcPfH5uj1+sEwyTsLk598MXM=; b=rGgvNIDsBTCTdQstxF5UHpycCeFW1nPOuWPwm+vkMqdB3jKg96giHDPx/d4XPf3SuA Ay5JHRMW9hPIcyNXZg25Jol1iv8G9ILUr2aI7AEHemDvP5kBy4CjD6kf/PVRtwFveSQ9 cDc0kg++W1lgkDSpWS4FeG8HkQbjArItzrW4vct1L6p9Jw4Qt7DQ5cyGSTUl9MkmdYd2 GXPbD8F01IR36YUNK61ww1VqJDQ3sPe1o8QaOjSRZYziFpK/h2N5Zf5wUUWIYXmkaO9Q FwK82dU0aYCId0sU+YUahlumENNxOrLFxJrmPLYPMU2KDeM5umqg3/T8LR2NerYr107D u4eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684235017; x=1686827017; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/SlLDyR9OHT3oGCleoxYcPfH5uj1+sEwyTsLk598MXM=; b=DVrwWkO9Z0LVunebhYMs2wemUuRWC8HD2Io9Ctcl/rYCU6wFlnt9rMs7h/Vc7PvY3r YXS3rqHD3D7k0cGPKJq0ajOyR36N1gypV8bPVPb3fCIXA+4M3CkdIsv2sVoShlWftoew G6z8NU8VwaBIHbwzwR6q+7gJ71uHFq8vdlEamaqgmsgdJZ/AcMVduJkdftjJbGr5E1nV ky+cp3FC66u6/tSWqxTgXvadQkzl1GHPP9jNZ3urfF11CA0hoXjefBFDNReesUUD42rm MVwwoR81bnXqnMySePfmjS2LYePShUeq4ItC1U9jVBjGAoNrU7CK09avwbHFNlcempcS hiww== X-Gm-Message-State: AC+VfDxvTzrPpqYVUiljkB7QdEUFLlX7/SlpohS66gC/fFZcjLP/Wxpz /BXdiL58l4bwTEZYde3DG78BNeCAa+4NfRKgM+c= X-Google-Smtp-Source: ACHHUZ64E447uNX44HkkHxZSBGfwNgmYuoF1KfA0hbzLwlBP+t/9GDsHhuJ3Ba/wC12DSNXao11Kb5lFVtE3dnjlbhM= X-Received: by 2002:a05:6a00:15c6:b0:635:d9e1:8e1e with SMTP id o6-20020a056a0015c600b00635d9e18e1emr53024569pfu.11.1684235016838; Tue, 16 May 2023 04:03:36 -0700 (PDT) MIME-Version: 1.0 References: <9ab0173f-a6f2-66f6-3ab3-d5f0c44feb05@bastelstu.be> <9F928894-199E-4C46-A590-136BDDE035F7@gmail.com> <68c1b984-1bcd-4dfd-8499-65fe392d7783@app.fastmail.com> <731143A6-D1A2-47E1-B878-8F4C5906139C@gmail.com> In-Reply-To: <731143A6-D1A2-47E1-B878-8F4C5906139C@gmail.com> Date: Tue, 16 May 2023 12:03:24 +0100 Message-ID: To: Rowan Tommins Cc: internals@lists.php.net Content-Type: multipart/alternative; boundary="000000000000e5a18f05fbcd858c" Subject: Re: [PHP-DEV] [RFC] [Discussion] Deprecate functions with overloaded signatures From: george.banyard@gmail.com ("G. P. B.") --000000000000e5a18f05fbcd858c Content-Type: text/plain; charset="UTF-8" On Mon, 15 May 2023 at 19:36, Rowan Tommins wrote: > On 15 May 2023 09:54:41 BST, "G. P. B." wrote: > > >Why are we assuming that PHP 9.0 is going to come after PHP 8.4? > > Historically, PHP has had a major release roughly every five years. The > main exception is PHP 6, which was never released - but whose major > features became PHP 5.3, five years after 5.0, and six before 7.0 > > I think planning a rough timeline is more useful to users and contributors > than waiting until there's some exciting headline feature. Otherwise, it > becomes tempting to sneak in breaking changes in 8.x because "we don't know > how soon 9.0 is", or to have a rush of changes because "we've only just > decided 9.0 is soon". > > It also helps avoid putting a release number on an experimental feature > that might never arrive, as with Unicode strings in 6.0; or that might turn > out to be less important to most users than other changes, like the JIT in > 8.0. > I totally agree that we shouldn't use a major number as an exciting feature flag. However, if what we want is a consistent timeline for how long something gets deprecated before being removed, then let's just do like Python and state that the deprecation exists for two consecutive releases and will be removed in the third one. Because this proposal of "let's do majors every 5 years" now reduces what we can do, as we cannot (or should not) deprecate stuff in X.0, as it makes it harder for people to upgrade to the new major (see how we postponed the 8.0 deprecation RFC to 8.1 after various comments). But apparently we cannot deprecate anything in X.3 or X.4 because there will "never" be a X.5 again and this is "too short" of a time frame. This, IMHO, is terrible for the project's maintenance. As this basically says to someone who wants to start contributing to the project by deprecating some weird behaviour that they may be told off with "you should have done this X years ago" or "wait another Y years". People cannot magically know when they should shove aside any other priorities in life just to be able to make *some* change to the language. Considering, this was partially the argument used against Max Kellerman with the header changes: "this should have been done for PHP 7.0 or PHP 8.0". Those sorts of statements alienate new (and old) contributors, and looking at the state of the projects where we are still very much thin on maintainers, anything that does this is from my POV a no-go. My understanding as to *why* the JIT caused the major bump was because of major changes within the Zend Engine, not necessarily the feature in itself. And again, the only "good" reason I see for a major bump is something like converting streams from resources to objects, as this is a massive shift and has the possibility to cause issues for a lot of codebases. Best regards, George P. Banyard --000000000000e5a18f05fbcd858c--