On Mon, Apr 29, 2019 at 10:55 AM Nikita Popov <nikita....@gmail.com> wrote:

> On Mon, Apr 29, 2019 at 9:34 AM Zeev Suraski <z...@php.net> wrote:
>
> >
> >
> > On Thu, Apr 25, 2019 at 12:52 PM Nikita Popov <nikita....@gmail.com>
> > wrote:
> >
> >> On Thu, Mar 28, 2019 at 2:33 PM Bob Weinand <bobw...@hotmail.com>
> wrote:
> >>
> >> > Hey,
> >> >
> >> > I feel like concatenation having the same precedence than addition and
> >> > subtraction is promoting programmers to make mistakes. Albeit
> typically
> >> > easy to catch ones, it is a quality of life change at least.
> >> >
> >> > Hence I'm proposing a RFC changing the precedences:
> >> > https://wiki.php.net/rfc/concatenation_precedence
> >> >
> >> > Bob
> >> >
> >>
> >> Similarly to the ternary associativity RFC, I've analyzed the top 2000
> >> composer packages and checked whether they would be affected by this
> >> change: https://gist.github.com/nikic/a4df3e8e18c795
> >> <https://gist.github.com/nikic/a4df3e8e18c7955c2c21cf6cdb4cbfaa>
> >>
> >> Zeev
> >>
> >> 5c2c21cf6cdb4cbfaa
> >> <https://gist.github.com/nikic/a4df3e8e18c7955c2c21cf6cdb4cbfaa>
> >>
> >> The tl;dr is that there were 5 instances where behavior would change per
> >> this RFC, and all 5 of them are bugs in current code and would be
> >> interpreted correctly after this RFC.
> >
> >
> > Nikita,
> >
> > I'm a bit worried that using this as a standard test suite may
> > (repeatedly?) give us a false sense of security to go ahead with
> > compatibility breaking changes.
> > Composer packages, almost by definition - tend to be of higher quality
> > than the 'average' PHP code (at the very least they're redistributable,
> but
> > arguably Composer users are more advanced than the average developer -
> even
> > more so those who publish packages).  On top of that - probably the some
> of
> > the most redistributed pieces of code in the PHP space - aren't covered
> by
> > Composer at all (e.g. WordPress).
> >
>
> Even if something is not published via packagist proper, it will commonly
> be redistributed there. E.g. in the dataset I used, WordPress is
> represented through the roots/wordpress package (a packagist mirror of
> WordPress).
>

That's good to know - thanks!


> Don't get me wrong - I think it's great to have this indicator, but unless
> > I'm missing something, it's far from being something we can thoroughly
> rely
> > on to determine whether a certain feature is commonly used or not.  A
> huge
> > chunk of the PHP codebase is completely invisible to us, and much of the
> > code that is visible to us does not reside inside Composer.
> >
>
> Absolutely. This only looks at a very small fraction of PHP code, though
> also at a very important fraction. We do need to be carefully about where
> and how the methodology is applied, for example it would make very little
> sense to use this approach to analyze short tags usage -- that's clearly
> something that will be predominantly found in proprietary template code,
> not inside open-source libraries that have no need for templates to begin
> with.
>
> TBH my main concern with this change is not the BC impact, but the concept
> of doing precedence changes at all. This is going to be a pain for 3rd
> party tooling, e.g. I'll have to add an entirely separate parser for PHP 8
> to the PHP-Parser library.


Agreed on both.  I hope folks factor that into account when they review the
results of this tool before deciding about deprecations.

Thanks,

Zeev

Reply via email to