Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106985 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 91393 invoked from network); 12 Sep 2019 19:46:35 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 19:46:35 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id D6E902D1FCC for ; Thu, 12 Sep 2019 10:22:31 -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-x934.google.com (mail-ua1-x934.google.com [IPv6:2607:f8b0:4864:20::934]) (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:22:31 -0700 (PDT) Received: by mail-ua1-x934.google.com with SMTP id j6so8239364uae.12 for ; Thu, 12 Sep 2019 10:22:31 -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=LozTiNUCE/1/UIp1JfgDgnlTMJCyeDfLH6fng4jIir4=; b=h5PjMo6GgDponEN7ViO598DJhc6a12PLy7lKav99IRvwKfuFfWVb0Mof5vr6v0AJyn p+CNQt16h6yRdLV0lncXnuFta/BTXlUqgOwm3RrBHeg3XVcIqlXIDbLuiUmy/FPNgsMc uS7uMnsHOfDcXjHL9GecLVjZzrDdC+tf/WA4z9DZg/uwylKvbuU1ecudiIg/arTQdqKO tDLSdSdZes7tmwcRV0qVmYG8lrYqQZ9qBNNHwv6L7qjEyC2D9+V7/XBMGZQAhPzPbUud BkYnCbQChoM9Hm9Rv+wYP2btZCnb2W6QEAh6GpSI6u3hkWzFcBnbBGc5ncT1zG2sILO1 /Fxg== 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=LozTiNUCE/1/UIp1JfgDgnlTMJCyeDfLH6fng4jIir4=; b=VMxiFQvMsBy1JmlYJQScEnJhPvC0o99JM8NEfsJvodRAKwlsCDGzjGNk8P8eUYlRl7 HTePnRmzyPk1vU9g8quYAheJp4GVGkBSMxCxzk5n4yoW51RiYsOLLJrB8vAnjCcZFGHW znIOySMnOyZDBiP+7JZ4Lz3jR7Z73og3ioc6GRQ9TV1IRjebH5I3H9Bz9Ah0DD6TfSRg 7xt/NF3Q0kcfL7H8eFetyV2RMSUPsw1sgUjggiMpC4mEaIoVTxOwNag3wfEm5PcPJBof O/4nzdtTrvDAILCt/8xYNbZY6ZBjzLAF0BdcfEKNvtiEV1R5CVnAFkcp32KZDT4ymGR3 5L8Q== X-Gm-Message-State: APjAAAXgYpbzXKt+XdHLeCzDNO4tFZYOZAVL6Pfvdx4c03dCtlTHHgIH +LOhJWkVtkc8i5RHZU7eZVmbN1zp/0CdjZriMTw= X-Google-Smtp-Source: APXvYqy5c7ZTKXHB9NvcEaDxboAagiqeWWWXcwzy0kss0GtSW7Rd6Sb7++mlNSDa/E4eSnW+/eFdA7gtF7j1l60lzjE= X-Received: by 2002:ab0:377:: with SMTP id 110mr21170792uat.132.1568308950585; Thu, 12 Sep 2019 10:22:30 -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:22:19 -0400 Message-ID: To: Matthew Brown Cc: Scott Arciszewski , Zeev Suraski , Marco Pivetta , PHP Internals List Content-Type: multipart/alternative; boundary="000000000000e5d73505925e61c8" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: chasepeeler@gmail.com (Chase Peeler) --000000000000e5d73505925e61c8 Content-Type: text/plain; charset="UTF-8" On Thu, Sep 12, 2019 at 1:05 PM Matthew Brown wrote: > that don't fundamentally change the language > > > There's clearly a big disagreement about whether this is a fundamental > change or not. > > Preventing something that the entire field of software engineering frowns > upon (and that most PHP developers avoid like the plague) doesn't seem like > a *fundamental* change. > > I would argue that this is exactly such a change. The flexibility of PHP has often been touted as a feature and something that sets it apart. Whether that's good or bad is, frankly, irrelevant. There are valid reasons for not always initializing variables or array keys. It might be a bad reason in your opinion, but others view it as perfectly acceptable. For 20 years people have developed code based on that feature. It was never considered an error, and often not even considered bad practice. To suddenly define it as such is the exact definition of a fundamental change to the language itself. What if Java suddenly said that all properties are suddenly private, and can only be accessed through getter/setter methods? The fact that you should make properties private and use such methods is a practice that was drilled into me from day one. Would that justify making such a change, though? -- Chase Peeler chasepeeler@gmail.com --000000000000e5d73505925e61c8--