Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106992 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 7051 invoked from network); 12 Sep 2019 20:22:15 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 20:22:15 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id DC41C2D1FCC for ; Thu, 12 Sep 2019 10:58:11 -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=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS36024 206.123.114.0/23 X-Spam-Virus: No Received: from mail1.25mail.st (mail1.25mail.st [206.123.115.54]) (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 10:58:11 -0700 (PDT) Received: from [10.0.1.86] (unknown [49.48.245.106]) by mail1.25mail.st (Postfix) with ESMTPSA id 68DD860445; Thu, 12 Sep 2019 17:57:54 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) In-Reply-To: Date: Fri, 13 Sep 2019 00:57:50 +0700 Cc: Matthew Brown , Scott Arciszewski , Zeev Suraski , Marco Pivetta , PHP Internals List Content-Transfer-Encoding: quoted-printable Message-ID: <262D6749-66C3-4544-9FA0-32CDA6EC402A@koalephant.com> References: <076701d56978$86020910$92061b30$@php.net> <078e01d5697c$5512bc10$ff383430$@php.net> To: Chase Peeler X-Mailer: Apple Mail (2.3445.104.11) X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: php-lists@koalephant.com (Stephen Reay) > On 13 Sep 2019, at 00:41, Chase Peeler wrote: >=20 > On Thu, Sep 12, 2019 at 1:33 PM Matthew Brown = > wrote: >=20 >> What if Java suddenly said that all properties are suddenly private, = and >>> can only be accessed through getter/setter methods? >>>=20 >>=20 >> If Java announced that the next major version was to make the change = after >> 95% of userland developers favoured it and over 2/3rds of their = internals >> team did, I'd think "huh ok I guess they have good reasons". >>=20 >> For 20 years people have developed code based on that feature. It was >>> never considered an error, and often not even considered bad = practice >>=20 >>=20 >> You seem to be arguing against *ever* changing something that a = majority >> once thought was good, and fundamental to a given system. Lots of = things >> fall into that category - restricting voting to men, segregation, = etc. >>=20 >=20 > Now you're just being silly. I actually don't have a problem with > fundamental language change, provided that the positives that are = gained > far outweigh the negatives of the BC break and there is no other way = to > accomplish those positives without such a BC break. >=20 > There are a myriad of ways to achieve what the RFC attempts to = achieve. > Whether that's analysis tools, custom error handlers, detailed code > reviews, etc. Nothing prevents anyone from initializing all of their > variables or performing as many sanity checks on a variable before > accessing it as they want to. Nothing in the RFC is required to = implement > other new functionality like enums, union types, variable typing, etc. >=20 > I also think it's a bit of a stretch to compare something like = variable > initialization with things that denied people their basic human = rights. >=20 > --=20 > Chase Peeler > chasepeeler@gmail.com Please, will someone arguing against making use of undefined variables a = higher severity, explain to me why the same argument was not made for = use of undefined constants, for which the RFC to deprecate/remove = support, passed 41:0. How is one undefined symbol more acceptable than another undefined = symbol?=