Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:107021 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 74527 invoked from network); 12 Sep 2019 23:23:57 -0000 Received: from unknown (HELO php-smtp3.php.net) (208.43.231.12) by pb1.pair.com with SMTP; 12 Sep 2019 23:23:57 -0000 Received: from php-smtp3.php.net (localhost [127.0.0.1]) by php-smtp3.php.net (Postfix) with ESMTP id 840E62C0478 for ; Thu, 12 Sep 2019 13:59:55 -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.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,FREEMAIL_REPLY,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-io1-xd44.google.com (mail-io1-xd44.google.com [IPv6:2607:f8b0:4864:20::d44]) (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 13:59:55 -0700 (PDT) Received: by mail-io1-xd44.google.com with SMTP id f4so57466591ion.2 for ; Thu, 12 Sep 2019 13:59:55 -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=u1uM2nbb++qhr+khhgPN969/fw7qFpXYepEFU5l2hco=; b=pmXRk7bupS81b5l2GRgY0Gz/8Anbb62imOPXjzEW5wLHZikH/QANAnfLeIjVODu9e8 /Goc2EZVJqrs3u4aoY0UG1OfHs7VUCJKryrusMg0NWHDJwQPR0W7wzm0KUwU7ktvjY1P C04y18koLQT7XEHjgUz6puuA154xjyLs3djbGZkmvswFwWpnEgxrAMPxbDxX7wX6Nqxv HNX7iQV7GKOrSsW2BPg+kOG/3Dw23P/CKuhDRUaTs3+9fCoCGJkhXrz2oa9bS1YHSdqc GUem6GPepp9cnhgUarHPMkMvyQetzty+HazfKZokuRacNWHSkn4Uj4+4X+r08EjVafCV wC/A== 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=u1uM2nbb++qhr+khhgPN969/fw7qFpXYepEFU5l2hco=; b=LcrBlR8GwMI8fKIrAGfOxCkLRJaEly+iS6Xvq2O0kt+UwIcTbYLx07zTaU7NAOpQkK Einuea2GiMgtpKflijWQBTTgZG0oHdoeVqel6ofGFfzCyWlXHoJO3DrkDVf1Ugr+VLef 2XpB7yPrqDNG8uCp5brgsLmZfPDjdfdZXI3D09QwsWUgcoWYFaQOVgbOZ8PIjTrNsuhI eyqqBKZWh4QZ5KDepDmzgd6hsRcetqvUZYlVpw1Uzu7qZ0uYPgCIpNvn4FKZAAO7Ezlf OWt8utqVQtH0wMKGJqcDoqxGKPo0uvczxfaQ5wEwbPU7fp0/2FzXAoMhVT8miiBcYZfe WORg== X-Gm-Message-State: APjAAAVjZn5t453fMmB7rTuib4JDyxTBT1+m7Cc7xZleUP5lx10Xy+Cz zpDB+2TlvncIfU2bQHAqeUO03u4MTKf04e/YnNEy+f1+gqM= X-Google-Smtp-Source: APXvYqzD2/nWdqwm1B2NPqqwX+9OvgrlAl9dGKRCH10fP4RwP0C6+5mPad5f8rYsAi7Z1eJd10QJpUqgJlvFkuvJSoM= X-Received: by 2002:a6b:c348:: with SMTP id t69mr7075407iof.66.1568321994061; Thu, 12 Sep 2019 13:59:54 -0700 (PDT) MIME-Version: 1.0 References: <076701d56978$86020910$92061b30$@php.net> <467be4a0-dd8b-29d2-0b09-a3efd7fad56a@heigl.org> In-Reply-To: Date: Thu, 12 Sep 2019 23:59:28 +0300 Message-ID: To: Chase Peeler Cc: Olumide Samson , Michael Babker , Internals Content-Type: multipart/alternative; boundary="000000000000597f2e0592616b35" X-Envelope-From: Subject: Re: [PHP-DEV] Changing fundamental language behaviors From: drealecs@gmail.com (=?UTF-8?Q?Alexandru_P=C4=83tr=C4=83nescu?=) --000000000000597f2e0592616b35 Content-Type: text/plain; charset="UTF-8" Hi guys, > Many of us don't consider it bad code. I've also always initialized > variables when it was required (and many times when it wasn't) even though > I wasn't forced to do so. A lot of other people do as well. If it's so > important to you, start a program to teach people how you think they should > code. One problem that needs to be understood is that PHP is used by a lot of users. Because it's easy to pick up and you have fast feedback it probably have a higher percentage of juniors than average. How language was 10 years ago it didn't helped them much in learning and they did lot of mistakes. Some of those mistakes cost companies lots of money and, in time, people got to the conclusion that PHP is bad. This is a very important thing!, Yes you can write working great code in PHP but it's very easy to write working bad code as well. And it's not about you and me or the other persons chatting here, it's about the rest of the world. PHP improved on it's bad image in the later years but this needs to continue. IMO, one thing that we need to also do is to make the language image better. With this in mind, I believe the "undefined variable" error will be a step forward. It's not about if you don't consider it bad code and that apparently the majority consider it good. It's that if language wouldn't allow you to write that code it will benefit the language image and the rest of the PHP comunity. Also, I would also like to remind of this: https://github.com/php/php-src/blob/master/docs/mailinglist-rules.md I think some parts might have been violated multiple time in this thread. Regards, Alex On Thu, Sep 12, 2019 at 10:29 PM Chase Peeler wrote: > On Thu, Sep 12, 2019 at 3:17 PM Olumide Samson > wrote: > > > On Thu, Sep 12, 2019 at 8:11 PM Michael Babker > > > wrote: > > > > > On Thu, Sep 12, 2019 at 2:06 PM Olumide Samson > > > wrote: > > > > > >> On Thu, Sep 12, 2019 at 8:00 PM Michael Babker < > > michael.babker@gmail.com> > > >> wrote: > > >> > > >>> On Thu, Sep 12, 2019 at 1:51 PM Peter Kokot > > >>> wrote: > > >>> > > >>> > Just a dumb idea, since there clearly is a majority in favor of the > > >>> > change with these warnings and strictness and all that now... Why > not > > >>> > making something like an LTS PHP 7.x where all the legacy code > would > > >>> > work OK as long as practically possible and 8.x+ would be the > future > > >>> > of what the developers want and not what business wants? One who > > won't > > >>> > upgrade due to the BC breaks also won't need the new features > anyway > > >>> > very realistically. > > >>> > > > >>> > > >>> Please don't tie the notion of LTS with the idea that a new major can > > >>> break > > >>> BC at will or create larger scale breaks because the previous major > has > > >>> extended support. Sooner or later that will end up back at the ++ > idea > > >>> and > > >>> fragmentation encouraged by the language is a bad idea. > > >>> > > >> > > >> Not sure you are really seeing the goal... > > >> > > >> Why is LTS not a good idea? > > >> > > > > > > I'm not saying LTS is a bad idea. I'm saying using LTS to justify > > > shipping larger scale BC breaks, such as the changes suggested in the > > last > > > couple of "contentious" RFCs in a major version because "hey, we have a > > LTS > > > version you can use that until you're ready to deal with the backlog of > > BC > > > breaks created" is a bad idea. > > > > > > > > > > For the record, I happen to agree with as these RFCs would have minimal > > > impact on my day-to-day work, but having also been in the role of a > > > maintainer of open source libraries and applications I also grasp why > > these > > > types of changes can be problematic to the ecosystem (both end users of > > > those libraries and applications and the maintainers of them) and > > wouldn't > > > jump the gun to ship them without careful consideration. > > > > > > > Most of these changes wouldn't have been problematic to you if the > language > > has prevented you from writing what we can now consider bad code, so > please > > allow the new PHP developer that newly start using PHP to not follow that > > your path that will/might hunt him later in the future... > > > > > Many of us don't consider it bad code. I've also always initialized > variables when it was required (and many times when it wasn't) even though > I wasn't forced to do so. A lot of other people do as well. If it's so > important to you, start a program to teach people how you think they should > code. > > > > There a notices, warning and errors to inform you that this shouldn't > have > > been the use case of this feature and you chose to ignore it and now, we > > are simplifying things and making those your errors teach you how to > write > > proper codes in the future, you're objecting.. > > > As has been discussed before, notices are not the same as warnings and > errors. Also, if those things are so wonderful, why can't you use them to > catch the issues you are complaining you can't catch right now? Again, you > are telling me there is something out there which will allow you to force > yourself to write "good code" without forcing me to follow the same > restrictions. Yet, you still feel it's necessary to not use those tools, > and instead modify the entire language so that I am forced to follow what > you deem best practices, even if I don't? > > > > > Why not just stay in PHP 7.x? > > > > Because other features that I want to utilize will also be added in PHP > 8. > > Or were you implying you want hitch-free, no-modification upgrade to PHP 8 > > from PHP 7.0? > > > > I never said that. Here we go again with the "I guess you are against all > BC breaks" nonsense. If BC breaks are required to add new functionality, > or, have a very minimal negative impact, then I don't have a problem with > them. This is not one of those cases. It changes a fundamental aspect of > the language, an aspect that many people actually like, and it doesn't add > any new features to the language, nor is it needed to add any new features > to the language. > > > > If yes, follow the best practices and not suppress error notices. > > > > Just My Opinion > > > > > -- > Chase Peeler > chasepeeler@gmail.com > --000000000000597f2e0592616b35--