Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106977 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 69556 invoked from network); 12 Sep 2019 18:40:56 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 18:40:56 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 9AF002D1FD1 for ; Thu, 12 Sep 2019 09:16:51 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp3.php.net X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS3215 2.6.0.0/16 X-Spam-Virus: No Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com [IPv6:2607:f8b0:4864:20::b31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp3.php.net (Postfix) with ESMTPS for ; Thu, 12 Sep 2019 09:16:51 -0700 (PDT) Received: by mail-yb1-xb31.google.com with SMTP id m9so8870884ybm.3 for ; Thu, 12 Sep 2019 09:16:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=H+lx1ItCHgFxIeYXPAZ1EDhrKEw+Bq8gf3MBT7Emyu8=; b=UfuuYa+HBVK0AMkCx2n0VxZh2KpRgWxX5DAYVcWQt9lX11MVKl0tcMAwYpMkWZ0CRZ NSBJXAlClTzpSmdHkQhXAZiPaKc4RQG+5D8ktU/2j+0fhRnZnl8Cvpb+JHtvnC5NQ7+v HM0Zxrx59YbmXptTaoxtxnXQR99r4XtrVYpKpWVWVNtx4YSQEwtR+9xUaGhJOpLBeHwM 27Si4I49e9DA+lBL8O4nlSv4hcUzNTdJX5op8qgVoUEJnUBZ7zRXdsxRnUT64w1KW4q5 6xKC7VHpQNNWsaqs+6AHq/wF/ZgX27xdFgDQN883sENkVvsXPGN9x96pivUqxAS4lopK Rs9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H+lx1ItCHgFxIeYXPAZ1EDhrKEw+Bq8gf3MBT7Emyu8=; b=Vj3/dnM+PPRtHcFQ8y8/Vb1BWS+L4I1qmptL17NsVPJ9riaJq9xh11cRAtPBabFrPq 3exH2bnc9dePtnd611sydDzhZNY/5pAB2tF9WhjOk9QmA3nBeq5Qzg9GOGRM4LjWE3Rx ovcThFXOuLKz1f3XYIpI93Mn8T6fXLa6XqxgzemyybIL49bXg64gzVslWHZ3coRIbLzl g6qmu+C/n90CWUN5NCDHFr9TwG9o6MVtNGRoL2Dfh7nFMoD0tHtxsZtdM8GIgPKt7rkK CYBQ3SdxmpCDr+koEVjampqiLkxXVQAbUGrxQeLKMBWpuCfHSDXh40Cfwg/BaDK352sF Ohdg== X-Gm-Message-State: APjAAAUH41MtBXq9KS3DGrWCAy59EIbTC9kuNL+hS2XRKbKm8rAl8flS KipebfiV6zNzL/osndfmcBT+N/GGC8QTwi0RFoQRoA== X-Google-Smtp-Source: APXvYqxRfqnnNpoJ3D8ThkxTwR8rxodGKBCFLgBn++wV0xF6HNnFeL03ImfguF3yB2h6jNHzpTkYd5QyG3dNgxkbERU= X-Received: by 2002:a25:e08d:: with SMTP id x135mr2447631ybg.239.1568305010104; Thu, 12 Sep 2019 09:16:50 -0700 (PDT) MIME-Version: 1.0 References: <076701d56978$86020910$92061b30$@php.net> In-Reply-To: <076701d56978$86020910$92061b30$@php.net> Date: Thu, 12 Sep 2019 12:16:35 -0400 Message-ID: To: Zeev Suraski Cc: PHP Internals List Content-Type: multipart/alternative; boundary="00000000000006e23c05925d776d" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: matthewmatthew@gmail.com (Matthew Brown) --00000000000006e23c05925d776d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Without your contributions in the early 2000s, PHP likely would not enjoy the popularity it does today. But I don't think that gives you veto power over the entire process. You haven't made any significant contributions to the codebase in over a decade, and yet the language has still gained many more users in that time frame, with some fairly major backwards-incompatible changes along the way. I think you have to come to terms with the fact that today you are a single vote in this process =E2=80=94 though you are, of course, free to write you= r own RFCs. Best wishes, Matt On Thu, 12 Sep 2019 at 10:44, Zeev Suraski wrote: > I was really really hoping that we will avert having to dive into this an= d > instead go for the alternative solution that was proposed of changing > default php.ini error levels. But since the RFC went on to a vote - we > need > to make something clear. > > > > The RFC process was never, ever meant to handle fundamental changes to th= e > language. It was meant to deal predominantly with additions to the > language, as can be inferred from numerous parts in the phrasing. As I > mentioned in the past - it wasn't even intended to deal with simpler > deprecations, but it appears that the cat is out of the bag on this one. > However, the fact the cat is out, doesn't mean we'll let a tiger waltz ou= t > of the same bag. Using the RFC to deprecate fundamental behaviors of the > language - such as how the language deals with undefined variables - is > simply off the table. > > > > You may be wondering, in that case, what processes do we have to deal wit= h > such changes then? The answer is simple. We don't. We don't have to ha= ve > them either - the fundamental language behaviors are here to stay. > > Deprecating the ability to rely on the expected default value of > uninitialized variables falls squarely in that category. > > > > Reclassifying a notice to a warning is a possibility - people's code will > still run, and they'll be able to continue using these behaviors going > forward as well if they want to (perhaps with minor tweaks to error > reporting levels). Turning a notice to an error isn't reclassifying an > error level. It's deprecating a behavior - and we're not talking about > some > esoteric extension, but a documented, well-defined, fundamental behavior = of > the language for over two decades. The fact many of you think it's > horrible > does not change that. Deprecating such fundamentals is simply outside of > the mandate of internals@, regardless of whatever majority appears to > exist > in favor of it at a given time. > > > > Similarly - adding typed variables - is certainly a future option. > Changing > PHP to require typed variables (without opting in) - is well outside of t= he > internals@ mandate. > > > > For areas like that - our options are either doing nothing, or providing > opt-in mechanisms to cater to stricter-loving audiences. I'm all for the > 2nd option, but there is no 3rd. > > > > Zeev > > > > --00000000000006e23c05925d776d--