Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106989 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 99949 invoked from network); 12 Sep 2019 20:05:26 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 20:05:26 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 1FDD02D201B for ; Thu, 12 Sep 2019 10:41:23 -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 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-ua1-x929.google.com (mail-ua1-x929.google.com [IPv6:2607:f8b0:4864:20::929]) (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:41:22 -0700 (PDT) Received: by mail-ua1-x929.google.com with SMTP id j6so8260013uae.12 for ; Thu, 12 Sep 2019 10:41:22 -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=BJ8VN/dqlfVe6TmqDtinyuKoSHr0Lem32RrdkeMpFt8=; b=bvySwx4sGP150NTIMnZNoanwWFchfcJXE8oHoFqBcT+k5S+JQHXUcwJ4zaQXHVYRfI kwdE8cxuO7/7ZJShD/sIlFGPvE4r+xK58lUTN4X6wT81OMQuIEgiJ5kBBLUP6Duynsde 0xLUNzwETtsOCsZYVFsPB3BZjTRk9uxEyiIxIYaeDZNS3pGOB2ZkhSqLHH1vRkZVVv4U HFMy0T8V7EGqjUXlFqL0NoFxsrfW9bS6mBtZXGrYcFz2Xf7Xtn3bw0CoaKJE8xAlsHaJ XbMkS97iSHNG33OMfEC2SNf0EMLLpfO0dfy+4epaVX0uF8JC1tHtLXcY3+xsUhV2nqNp tN+Q== 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=BJ8VN/dqlfVe6TmqDtinyuKoSHr0Lem32RrdkeMpFt8=; b=nOzu6i99EwtZgsWutpqKwVcYkP6pIbVXlqbeZu76nOIWm88kR/JyeNtrXvQhXbvj9M 22phaXbFkfbuCe3OUZvHAuARyWoyb6f1Qm3R6vJM69+pdH9w2MOHbhsk6eXGl1tE7e+b VjlYHR43CQE6hStlI8cZbSvrXv1Izm3SXWMWk15xkd/TyLxAQ8ROLUyMT4NdgI8rS1zT riu5YnaNE1671K3QH19xffyuGbEa/9692K7aU+fa8ZWjalRge0Soi8xLj5Wi6uwNkLsx AtumX8pCWBk8xYNYnGExcq2oyR0XbbWsO6mo8mJzYAC5F7pbfLVvMFpG7K903u+iThPQ Rb/g== X-Gm-Message-State: APjAAAVhgCr+LbF27paTuDepiBkmYCNaQOmiKjS+29JUsgNxKxvSyXsq QtE3qHY8LDoZkDO9eaYhwF1boaA59WvsV5pCDyM= X-Google-Smtp-Source: APXvYqzMZ1h+QsPQ+mRmD/9oAy3p2csWabvHwH5McEzf3MLwDQJB9IQEWdGHcfuEF3rtMFtLEWPxL+MMulc+bmQTfww= X-Received: by 2002:ab0:5b1d:: with SMTP id u29mr18426453uae.38.1568310082077; Thu, 12 Sep 2019 10:41:22 -0700 (PDT) MIME-Version: 1.0 References: <076701d56978$86020910$92061b30$@php.net> <078e01d5697c$5512bc10$ff383430$@php.net> In-Reply-To: Date: Thu, 12 Sep 2019 13:41:10 -0400 Message-ID: To: Matthew Brown Cc: Scott Arciszewski , Zeev Suraski , Marco Pivetta , PHP Internals List Content-Type: multipart/alternative; boundary="00000000000057078f05925ea5ae" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: chasepeeler@gmail.com (Chase Peeler) --00000000000057078f05925ea5ae Content-Type: text/plain; charset="UTF-8" On Thu, Sep 12, 2019 at 1:33 PM Matthew Brown wrote: > What if Java suddenly said that all properties are suddenly private, and >> can only be accessed through getter/setter methods? >> > > 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". > > For 20 years people have developed code based on that feature. It was >> never considered an error, and often not even considered bad practice > > > 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. > 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. 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. 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. -- Chase Peeler chasepeeler@gmail.com --00000000000057078f05925ea5ae--