Re: [PHP-DEV] Changing fundamental language behaviors

This is only part of a thread. view whole thread
  107019
September 12, 2019 20:57 phpmailinglists@gmail.com (Peter Bowyer)
On Thu, 12 Sep 2019 at 19:10, Lynn <kjarli@gmail.com> wrote:

> Whenever one of these errors will occur, you can initialize either the > array key or variable with null and it will work again without changing > behavior. If anything, Wordpress shouldn't be an argument to not improve > PHP, though I think it's important to consider the impact of a change, > including for the Wordpress community. However, I think most people agree > that the quality of Wordpress code and Plugins is highly debatable. I don't > like the idea of not being able to progress because Wordpress users won't > upgrade PHP. >
This raises an interesting, tangential point. Who is PHP for? One can argue that WordPress, with it powering 34% of the web (source: wordpress.org) represents more than 50% of PHP users, and therefore aligning the language to how they use it would be sensible, as they are the majority of users. PHP and WordPress have had a symbiotic relationship, the success of one increasing the success of the other. Those who wish PHP was more advanced and different (and I count myself amongst them) do well to remember that PHP has become extraordinarily successful in spite of the flaws now perceived. It's a good language that fills a niche even server-side JavaScript hasn't usurped. There is no shame in a language staying true to its roots, plateauing and eventually dying a death (cf Perl 5). I don't want that, but it's a valid route. And the communities that use PHP in a way many on this list look down on will be thankful to continue to have a language they can use, can hack with, and get stuff done. Even if there's a few extra bugs. The rest of us, meanwhile, have the opportunity to use a programming language that's closer to whatever we feel is a "proper" language (a vibe I pick up in the "they look down on us" and "I'd rather PHP was more like X" messages). If you're going to have to justify upgrading your code, why not propose a rewrite in another language? One can sell it on the fact it won't have the flaws regularly brought up on this list - like warnings instead of exceptions, or two opening tags. Or, despite the fuss on-list, do those who decide how the next project will be written/the current one rewritten, not care to the same extent, and other factors will influence their choice? Personally I cannot wait for new features to be added, but feel our heritage is as important as the future. Jordi expresses my feelings, and I quote him: Breaking BC here does not seem to bring much. If there are cases where
> enforcing strictness might allow better JIT for example, then I could > see the case being made. But simply turning working code into fatally > failing code isn't progress. [...] So what do we gain exactly? >
Peter
  107023
September 12, 2019 21:34 kjarli@gmail.com (Lynn)
On Thu, Sep 12, 2019 at 10:58 PM Peter Bowyer <phpmailinglists@gmail.com>
wrote:

> > One can argue that WordPress, with it powering 34% of the web (source: > wordpress.org) represents more than 50% of PHP users, and therefore > aligning the language to how they use it would be sensible, as they are the > majority of users. PHP and WordPress have had a symbiotic relationship, the > success of one increasing the success of the other. >
How many of those are actually developers? Because the way I understand this numbers, "powering the web", that doesn't mean 34% are also developers. It wouldn't surprise me if a big portion of these applications could've also be a system written in another language, deployed, plugins installed, added some themes and done, no PHP knowledge required. Regards, Lynn van der Berg
  107030
September 12, 2019 22:09 zeev@php.net (Zeev Suraski)
On Fri, Sep 13, 2019 at 12:35 AM Lynn <kjarli@gmail.com> wrote:

> On Thu, Sep 12, 2019 at 10:58 PM Peter Bowyer <phpmailinglists@gmail.com> > wrote: > > > > > One can argue that WordPress, with it powering 34% of the web (source: > > wordpress.org) represents more than 50% of PHP users, and therefore > > aligning the language to how they use it would be sensible, as they are > the > > majority of users. PHP and WordPress have had a symbiotic relationship, > the > > success of one increasing the success of the other. > > > > How many of those are actually developers? Because the way I understand > this numbers, "powering the web", that doesn't mean 34% are also > developers. It wouldn't surprise me if a big portion of these applications > could've also be a system written in another language, deployed, plugins > installed, added some themes and done, no PHP knowledge required. >
Many are. The WP developer ecosystem footprint is at the same order of magnitude as (and in some geographics larger than) that of 'generic' PHP - in terms of conferences and conference sizes, usergroups, available jobs, etc. I don't think any of us can pull numbers off of our sleeves - but the vast majority of folks who deploy WordPress sites that I bumped into also deal with at least some custom PHP code - and are responsible for the deployment whether they wrote it or not. It's true that there are many agencies and freelancers that do a lot more than one site. But it's also true that the WordPress numbers are enormous even if we cut them down by a factor of 10 (which I believe would be big exaggeration) And of course, the can be said about PHP apps in general - many developers produce a lot more than just one site. So while there's no 1:1 correlation between the number of sites and the number of developers, it's true for both WP and generic PHP (perhaps in slightly different scales). And of course #2 - we're not only talking about WordPress - non-WP developers will be affected by this as well. Zeev
  107031
September 12, 2019 22:16 mike@newclarity.net (Mike Schinkel)
> How many of those are actually developers? Because the way I understand this numbers, "powering the web", that doesn't mean 34% are also developers. It wouldn't surprise me if a big portion of these applications could've also be a system written in another language, deployed, plugins installed, added some themes and done, no PHP knowledge required.
Most WordPress users are *not* programmers. Which is why introducing breaking changes to PHP will potentially affect them so negatively; because they have no programmers on staff nor any skill to fix the problem. Which means they will have to hire expensive programmers — like me!!! — to fix a problem that from their perspective they do not understand nor will even recognize a benefit when the code is "fixed." Again, I am just presenting this perspective on this list. Those who vote on this list will decide if breaking WordPress end-user's site bothers them or not. -Mike P.S. I am writing during a break at a WordPress conference, ironically.
  107033
September 12, 2019 23:21 krakjoe@gmail.com (Joe Watkins)
Zeev,

I'm going to keep this really short and simple ...

You don't have the authority to make unilateral decisions for PHP,.

Nothing you are saying is going to have any effect, the people who actually
work on the language will merge whatever is voted in.

Cheers

On Fri, 13 Sep 2019, 00:17 Mike Schinkel, <mike@newclarity.net> wrote:

> > How many of those are actually developers? Because the way I understand > this numbers, "powering the web", that doesn't mean 34% are also > developers. It wouldn't surprise me if a big portion of these applications > could've also be a system written in another language, deployed, plugins > installed, added some themes and done, no PHP knowledge required. > > Most WordPress users are *not* programmers. > > Which is why introducing breaking changes to PHP will potentially affect > them so negatively; because they have no programmers on staff nor any skill > to fix the problem. Which means they will have to hire expensive > programmers — like me!!! — to fix a problem that from their perspective > they do not understand nor will even recognize a benefit when the code is > "fixed." > > Again, I am just presenting this perspective on this list. Those who vote > on this list will decide if breaking WordPress end-user's site bothers them > or not. > > > -Mike > > P.S. I am writing during a break at a WordPress conference, ironically. > >
  107035
September 12, 2019 23:45 zeev@zend.com (Zeev Suraski)
On 13 Sep 2019, at 2:21, Joe Watkins <krakjoe@gmail.com<mailto:krakjoe@gmail.com>> wrote:

Zeev,

I'm going to keep this really short and simple ...

I'll do the same.

You don't have the authority to make unilateral decisions for PHP,.

Neither does anybody else on this list.  Not even a plurality or a majority of folks on this list has the authority to apply the RFC process to something it was clearly not designed to handle.

Nothing you are saying is going to have any effect, the people who actually
work on the language will merge whatever is voted in.

Without getting to the technicalities, simply put, no.

Zeev
  107036
September 12, 2019 23:50 krakjoe@gmail.com (Joe Watkins)
Zeev,

> Without getting to the technicalities, simply put, no.
I'm not sure what you intend to do to stop it. Once again, I remind you that you don't have the authority that your behaviour communicates you have, at all. I wasn't starting a conversation, I was communicating facts, and I'm finished communicating with you. Cheers Joe On Fri, 13 Sep 2019 at 01:45, Zeev Suraski <zeev@zend.com> wrote:
> > > On 13 Sep 2019, at 2:21, Joe Watkins <krakjoe@gmail.com> wrote: > > Zeev, > > I'm going to keep this really short and simple ... > > > I'll do the same. > > You don't have the authority to make unilateral decisions for PHP,. > > > Neither does anybody else on this list. Not even a plurality or a > majority of folks on this list has the authority to apply the RFC process > to something it was clearly not designed to handle. > > Nothing you are saying is going to have any effect, the people who actually > work on the language will merge whatever is voted in. > > > Without getting to the technicalities, simply put, no. > > Zeev > >
  107037
September 12, 2019 23:56 vsuraski@gmail.com (Zeev Suraski)
> On 13 Sep 2019, at 2:50, Joe Watkins <krakjoe@gmail.com> wrote: > > Zeev, > > > Without getting to the technicalities, simply put, no. > > I'm not sure what you intend to do to stop it.
I sincerely hope reason will prevail and we won't have to find out (as I was hoping this part of the RFC won't be put up for a vote so that we wouldn't be in this mess to begin with). I am not looking forward to it - but we will not be depreciating fundamental language functionality regardless of the results of this or any other RFC - as RFCs have no mandate to do that. That is a statement of fact. Cheers, Zeev
  107054
September 13, 2019 08:19 brendt@stitcher.io (Brent)
Hello Zeev

Would you mind sharing with us why you specifically would be able to single handedly decide what gets merged into PHP and what not?

Kind regards
Brent
On 13 Sep 2019, 01:56 +0200, Zeev Suraski <vsuraski@gmail.com>, wrote:
> > > On 13 Sep 2019, at 2:50, Joe Watkins <krakjoe@gmail.com> wrote: > > > > Zeev, > > > > > Without getting to the technicalities, simply put, no. > > > > I'm not sure what you intend to do to stop it. > > I sincerely hope reason will prevail and we won't have to find out (as I was hoping this part of the RFC won't be put up for a vote so that we wouldn't be in this mess to begin with). I am not looking forward to it - but we will not be depreciating fundamental language functionality regardless of the results of this or any other RFC - as RFCs have no mandate to do that. That is a statement of fact. > > Cheers, > > Zeev
  107048
September 13, 2019 07:41 lester@lsces.uk (Lester Caine)
On 12/09/2019 23:16, Mike Schinkel wrote:
>> How many of those are actually developers? Because the way I understand this numbers, "powering the web", that doesn't mean 34% are also developers. It wouldn't surprise me if a big portion of these applications could've also be a system written in another language, deployed, plugins installed, added some themes and done, no PHP knowledge required. > Most WordPress users are*not* programmers. > > Which is why introducing breaking changes to PHP will potentially affect them so negatively; because they have no programmers on staff nor any skill to fix the problem. Which means they will have to hire expensive programmers — like me!!! — to fix a problem that from their perspective they do not understand nor will even recognize a benefit when the code is "fixed." > > Again, I am just presenting this perspective on this list. Those who vote on this list will decide if breaking WordPress end-user's site bothers them or not.
Something which does not help here is the way WordPress enforces upgrades that may not be compatible with all elements of the themes that the user currently has active. I AM a programmer rather than a web designer and am having trouble keeping WordPress sites stable. To that end I have decided simply to freeze at PHP7.2 for various reasons but WordPress is now complaining that the version of PHP is out of date. One just can't win ... some of the WordPress sites themes will not even work with PHP7 (or WP5) at all. So we *DO* need an LTS version of PHP that will run perfectly functional websites for the next ten years while others create the next replacement for the likes of WordPress by moving framework functionality inside PHP ... Much of the discussion on new features cut across the ways frameworks already handle that functionality ... -- Lester Caine - G8HFL ----------------------------- Contact - https://lsces.uk/wiki/Contact L.S.Caine Electronic Services - https://lsces.uk Model Engineers Digital Workshop - https://medw.uk Rainbow Digital Media - https://rainbowdigitalmedia.uk
  107051
September 13, 2019 08:10 cschneid@cschneid.com (Christian Schneider)
Am 13.09.2019 um 09:41 schrieb Lester Caine <lester@lsces.uk>:
> On 12/09/2019 23:16, Mike Schinkel wrote: >> Those who vote on this list will decide if breaking WordPress end-user's site bothers them or not.
That's something too few people on this list seem to be aware of: Breaking other people's perfectly functional code because you believe in a different coding style is not something which should be done easily.
> So we *DO* need an LTS version of PHP that will run perfectly functional websites for the next ten years while others create the next replacement for the likes of WordPress by moving framework functionality inside PHP ...
I agree! Which means there will be additional burden on the PHP core developers as there will be another version to back port security fixes to for a long time. Also not a decision to be made lightly. While I do like democracy I also agree with Zeev that it is too easy for people to vote yes on a breaking change even if they didn't think it through. So if you voted yes for any change of a notice/warning to an exception (which will break things) please reconsider! Is it really worth it? And if you really think so, could we make it opt-in? Or at least globally opt-out-able? - Chris
  107053
September 13, 2019 08:18 kontakt@beberlei.de (Benjamin Eberlei)
On Fri, Sep 13, 2019 at 10:10 AM Christian Schneider <cschneid@cschneid.com>
wrote:

> Am 13.09.2019 um 09:41 schrieb Lester Caine <lester@lsces.uk>: > > On 12/09/2019 23:16, Mike Schinkel wrote: > >> Those who vote on this list will decide if breaking WordPress > end-user's site bothers them or not. > > That's something too few people on this list seem to be aware of: > Breaking other people's perfectly functional code because you believe in a > different coding style is not something which should be done easily. > > > So we *DO* need an LTS version of PHP that will run perfectly functional > websites for the next ten years while others create the next replacement > for the likes of WordPress by moving framework functionality inside PHP ... > > I agree! > Which means there will be additional burden on the PHP core developers as > there will be another version to back port security fixes to for a long > time. Also not a decision to be made lightly. >
I would think that this is exactly what a company like Zend would charge their customers for. Microsoft is doing it for free for 5.6, I imagine for their bigger Azure customres here: https://github.com/microsoft/php-src LTS versions should not be the responsibility of the core developers, they are the responsibile of a legal entity with financial means that either directly sponsors the OSS project (Ubuntu) or is downstream of the project (RedHat). PHP is entirely a community project of volunteers that is already hanging by a thread given the workload.
> While I do like democracy I also agree with Zeev that it is too easy for > people to vote yes on a breaking change even if they didn't think it > through. > > So if you voted yes for any change of a notice/warning to an exception > (which will break things) please reconsider! > Is it really worth it? And if you really think so, could we make it > opt-in? Or at least globally opt-out-able? > > - Chris > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >
  107055
September 13, 2019 08:28 markyr@gmail.com (Mark Randall)
On 13/09/2019 09:10, Christian Schneider wrote:
> Is it really worth it?
It's absolutely worth it. Stopping execution flow at erroneous or ambiguous statements is an essential part of secure, reliable programming. A notice or warning offers no protection at all. Unless you've taken some very specific steps, your program will continue operating as if they never happened, even if that notice or warning was clearly a high probability of being a bug.
> And if you really think so, could we make it opt-in?
People should not have to opt in to common sense defaults. If I sell you a car, you shouldn't have to opt in to having the bolts on your tyres fastened on tight enough that the wheels don't fall off the moment you hit motorway speed.
> Or at least globally opt-out-able?
Let's not. Never again should an option like enable_short_tags exist. If you want a per-file opt out, the notion of declare(sloppy=1); Has already been jokingly proposed, and I would personally have no problem with it if people want to opt-in to less reliable enforcement... but once again, I stress that the defaults should always be best-practices. -- Mark Randall
  107064
September 13, 2019 09:10 php-lists@koalephant.com (Stephen Reay)
> On 13 Sep 2019, at 15:28, Mark Randall <markyr@gmail.com> wrote: > > the notion of > > declare(sloppy=1); > > Has already been jokingly proposed,
Who ever said it was a joke proposal? :-P