Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:102442 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 40083 invoked from network); 25 Jun 2018 20:40:33 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 25 Jun 2018 20:40:33 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.68 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.68 mail-wm0-f68.google.com Received: from [74.125.82.68] ([74.125.82.68:37623] helo=mail-wm0-f68.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CA/5E-50433-143513B5 for ; Mon, 25 Jun 2018 16:40:33 -0400 Received: by mail-wm0-f68.google.com with SMTP id r125-v6so11388348wmg.2 for ; Mon, 25 Jun 2018 13:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=nN6uSQKJ+1/Nttv4AtwwG11pfVY7JKxxUGOLJOhYMGI=; b=ED1FWOErlbBWoiLgoH2GMjFsvL20xOV8+A3F7hvQG94SpgIS90WgW5UkEwFTFySjJa B5/cPgwHrrsm9/rpVyxw3xwYU78R0nyKbGD4VooKbLWhOZvgz6v9PHFB23NGoyQziyjC 6OyQSap+qv7V3exk0KRngyPfGe91jsg+Tf5Aystu+z8+y/aD7/DQBX8TJFsFmmrk96ug TxMZYzRPDGbxYX4xV2AIKoIAUxdOMowCfjKvLOz/kRwrGvb47i8JAzAVvBiLKm+Tu72G OEGqDeoIaG/RhAHq9Lz0YU9vXBfl3nZMoQ3KMaku3Uog+yKCsVobxrYNSP7OiqUyfUaZ 6SiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=nN6uSQKJ+1/Nttv4AtwwG11pfVY7JKxxUGOLJOhYMGI=; b=rQfKt6qX7f+7/Luz98R1Tm6XU+y6I6Q/jaYuiwGNLTa5tpn+WBuayUBMBsV6UZ9sj2 aIWIB30HVwO/04WeNVRNcNpcXiOjh1ZeKOzGnesR95HLpXOLVS1BKz2tVJlyYK/3qVfL gOWykgJ5vWNyv9llZSpE24lI3k+m4qxpx3XEW32josNeJx1sUz0b609AWDbLHMr4t3kd hbkCx+0t6+d4RppWy/L37kp+8rYjiR95ZsX5YO37yzMqj9EOTdNnyOxsHb+f1vYG7jOS LOJ7FobHPTb8vy93wue+5BZ7c//wd2yjSbzCt/RfZgM3JfXbmfiYA1IxrHpfCbtLfejO 6eDw== X-Gm-Message-State: APt69E2z7psM4QvwuQwXXwvHwyxdp7vVKdeESVE3F4UpJOrOOcky7X6j IgEObFtaNHbRB/XLyGIRBult4FJU X-Google-Smtp-Source: AAOMgpdHduR2d1LXydA/J7m5VA0cUTP5dPWoSbAaYVcOpFuAQDv7ACFf+aR05bk+lrEgZThWcwQ5Pg== X-Received: by 2002:a1c:27c3:: with SMTP id n186-v6mr116991wmn.10.1529959230290; Mon, 25 Jun 2018 13:40:30 -0700 (PDT) Received: from ?IPv6:2a00:23c4:4b86:4b00:ed04:8a78:e867:50dd? ([2a00:23c4:4b86:4b00:ed04:8a78:e867:50dd]) by smtp.googlemail.com with ESMTPSA id k7-v6sm11734984wrq.82.2018.06.25.13.40.29 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 25 Jun 2018 13:40:29 -0700 (PDT) To: internals@lists.php.net References: <4CD11D3A-D799-46CF-9DD0-E34552FB15CD@gmail.com> <4552e1c3-b538-17ab-95fd-708dfa4f0d5a@lange.demon.co.uk> Message-ID: Date: Mon, 25 Jun 2018 21:40:28 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-GB Subject: Re: [PHP-DEV] PHP 8 next? From: rowan.collins@gmail.com (Rowan Collins) On 25/06/2018 19:54, Zeev Suraski wrote: > On Mon, Jun 25, 2018 at 8:40 PM Chase Peeler wrote: > >> 1.) Old code breaks during minor updates. We upgraded to 7.0 AFTER 7.1 was >> released, because we had already made major updates to upgrade to 7.0, and >> 7.1 introduced a few things that would have broken our code - we didn't >> have time to fix those by that point. "Throw on passing too few function >> arguments" would actually break more stuff in our legacy code than all of >> the 7.0 changes combined. >> > I agree. It was a bad decision on our part to do it in 7.1 - this bit a > lot of users. IIRC, one of the arguments given at the time was "we don't know when 8.0 will be, so we might have to wait for a long time". I never liked that argument, because it sounds like the arrival of a major release is entirely out of our hands, when in fact the opposite is true. My argument then, as now, was that we should plan further ahead when each major release will be, and build up a list of things that will be in it. If anything, I think we should bump the major version number *more* often; if after 3 years we have 10 things like the too_few_args RFC, get them implemented, bump the version number, and move forward. On reflection, I think maybe that phrasing reveals a difference in viewpoint: a lot of people talk about "a major release", which implies there's something big and exciting, rather than just a number. I think of it more like the marks on a ruler: centimetres are not more exciting than millimetres, but they are less frequent, and have some significance. >> It's tough enough for me to make a case for upgrading using the "increase performance" and "new >> features" argument. There is no way I'd get the go-ahead to do an upgrade >> that would just make additional features deprecated. In an ideal world, there would be no reason *not* to upgrade to the next minor version, because you would know that your code ran on "7.x", so would just install the latest 7.x when it came out. I know reality is never quite that simple, but I think we can get pretty close with a bit of discipline and planning. Regards, -- Rowan Collins [IMSoP]