Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110918 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 5440 invoked from network); 10 Jul 2020 15:14:14 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Jul 2020 15:14:14 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id C7640180508 for ; Fri, 10 Jul 2020 07:05:39 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-ua1-f51.google.com (mail-ua1-f51.google.com [209.85.222.51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Fri, 10 Jul 2020 07:05:38 -0700 (PDT) Received: by mail-ua1-f51.google.com with SMTP id b24so1868024uak.2 for ; Fri, 10 Jul 2020 07:05:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=basereality-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=sIDQJ9ldnWCeW+0Z2z8t36MY3H/Mo+aULGngpSdah5g=; b=x0MNxIRrL7BvoZSxjtgrhvvdH3WNf+mOMwXduoj+ZWBDAusWNogIHZmtbQUuAHu3Rx Mj6CYDrXzbpPlPsqVNX2fly/Gt9UVS2lJXjBZW+tQDdeBGaw9cD1Qdh0oR6kgla08eK3 1crj0C/mdFlgfQYjRkBifoG6t8ou8HzoWh+DUYf1XG43T7noG+UBeA/9gOSpUebEEkyF 6ueA0Efk4PZ5r9gNF2ZTRasruuSitxUFeJNW2cO1+UPxZZ9eEwB5ubFIniT3BO1tVrFd 3L94nP/QVD8fB3/ibOF631ha+/Adu/k9xIOcXEYS6Nhlm1lOtljP9V3Cq5m53VFrezt+ iqUw== 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=sIDQJ9ldnWCeW+0Z2z8t36MY3H/Mo+aULGngpSdah5g=; b=LLuWNsYELfSPN5eaN8NikKGAmOe8jTMdmvg43e7kaY7g6Pp0fUtAvLkT/TAc2HYVaB Rsmws8phtjIAbV9cs2OC0q6r9J/Z7o+dP+w8uwGdCsVmqj5WjI1pL4W/FYwo6ajvPTmj A1RaNWOjOSjoV8NjnX6C8meYelSOy3Ssyio6tUmTthxp/r7Ul4WVjRIr677g95PQzGh/ k3PrFneYqX120FWxmO4gw7mxCflZWXmhwNo8DJTF7a6aO09AnM1RUV8iSq3fOtk1Eqfd phP9jy6H9hBMfJnb3lJFzd3ayC1ZyF2ni8BXCpjg9d4hSrK98M4iDJIHLpV4x+pMeC8K fv4A== X-Gm-Message-State: AOAM530csIOdQW0Cv8Npf0oQ03qS34tI1O2zeQ3FtA4UDw+C58oG7PGy xYvuXe7ZJ2FdZMAeU4VqzXDXNSKuU3zNFhNWsgSYg8USEYXgbw== X-Google-Smtp-Source: ABdhPJx4d7Tl3eJ4irllYHWT/emM0YJMK3qnsLmASyIeNcAHDutb2dP5+4DHjr1KHE0MkuoqfOr0ZQ3OPCP0nS+L7Ak= X-Received: by 2002:ab0:6893:: with SMTP id t19mr51711334uar.61.1594389937313; Fri, 10 Jul 2020 07:05:37 -0700 (PDT) MIME-Version: 1.0 References: <0771c3ac-53ec-4a7f-a4e9-6ae3c9b1f1f6@www.fastmail.com> <49fd7972-8cec-4207-99af-6c77c2328211@www.fastmail.com> In-Reply-To: Date: Fri, 10 Jul 2020 15:05:26 +0100 Message-ID: To: Larry Garfield Cc: php internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC] \PHP namespace usage heuristics From: Danack@basereality.com (Dan Ackroyd) On Thu, 9 Jul 2020 at 18:04, Larry Garfield wrote: > > I've no idea what the rules are around new version numbers > of RFCs that haven't been up for a vote yet. I pretty strongly recommend people against re-using documents. If it's going to change significantly, using a new doc makes it easier to see it's a different idea. Alternatively summarising the changes might be more appropriate for smaller changes. Larry wrote: > Which guidelines in particular bug you, and why? Just to note, my problem isn't just with the details, but to pick out a few. RFC text: > Any namespaced code provided by PHP-SRC will use a sub-namespace of \PHP. > That is, no PHP\Foo class may be defined, That seems like something that will have reasonable exceptions to. RFC text: > Classes that are part of a disable-able extension > Eg, \PHP\Sodium. I don't believe extensions should necessarily be under a PHP namespace. Instead that should be thought about case-by-case. Also, extensions can move from being one that can be disabled to not being disable-able. RFC text: > Upgrade path for existing classes > That is, a rename introduced in PHP 8.2 is not eligible to have its > old name removed until at least 10.0. The reason for having aliases is mostly to allow easier upgrading. i.e. i) User code runs on version x.y of PHP. ii) User code runs on version x.(y+1) of PHP. iii) The user changes any use of old names on x.(y+1). iv) Old names can be remove in version x.(y+2) Keeping aliases of old names around for longer than that isn't that useful. But again, this should be thought about case-by-case. Rowan Tommins wrote: > This is pure whataboutery; the idea that reading a few > naming conventions will be such a burden that somebody > would have no time to review a feature is frankly ridiculous. That's getting pretty close to just name-calling. It's fine to think that there is a problem here, and that adopting this RFC is an appropriate solution to that problem. But I think that there isn't really a problem to solve here, and that even if there is, solving it through an RFC is worse than just ignoring the problem. This difference in approach possibly comes from a difference in philosophy. aka I think we're both making sensible arguments, but based on different values of what is important, and so coming to different conclusions. I've recommended the book Systemantics before: https://en.wikipedia.org/wiki/Systemantics It has lots of very useful advice about the counter-intuitive results that emerge from decisions. And it's from that approach to systems design that I'm basing my thinking. One of the most simplest pieces of advice it gives is: "First rule of systems design: do without out one if possible" And one of the few pieces of advice that I give to people, that I'm pretty sure is right is: "Accept you're going to be wrong - Make it easier to correct mistakes." which was part of a whole talk I gave at DPC* I don't think this RFC provides much benefit now, and I don't think it makes it easier to name things in the future. In fact it makes things more difficult as any exceptions to the rules laid down in this RFC now become "DEVIATIONS FROM OUR ALREADY DECIDED RULES!!1!" rather than things that can be thought about as code, coding standards, and people's personal preferences all evolve. cheers Dan Ack * Video: https://www.youtube.com/watch?v=TS9BNa1MDW0 Slides: http://docs.basereality.com/GoodOrBad_DPC/ Apologies for the quality of my voice which made the presentation quality not as high as I had hoped. But it does lead to the 2nd piece of advice I'm pretty sure is correct, which is "wear a seatbelt so you don't damage your spine in a car crash" which might seem kind of obvious advice in retrospect.