чт, 8 авг. 2019 г. в 17:42, Chase Peeler <chasepee...@gmail.com>:

>
>
> On Thu, Aug 8, 2019 at 11:18 AM Arvids Godjuks <arvids.godj...@gmail.com>
> wrote:
>
>> чт, 8 авг. 2019 г. в 16:42, Peter Kokot <peterko...@gmail.com>:
>>
>>> Hello,
>>> Thanks for sharing your stories about issues. Maybe we should start
>>> also thinking about the impact on the language attractiveness to pick
>>> it when starting a new web project since the core people can't come to
>>> conclusions how to make the language more consistent on the long run
>>> (PHP 9 etc)... With more and more ambiguities, inconsistencies,
>>> lockups, and dead ends behind the language there is probably also a
>>> bit of a factor to consider that it lowers this attractiveness.
>>> Meaning less people will think of adopting it (with all the things
>>> combined - short tags, that and that inconsistency not being removed
>>> from PHP due to major disastrous BC break there and there). So, the
>>> damage is also on the long run with more and more locks and dead ends
>>> not being able to be fixed and cleaned.
>>>
>>>
>>> --
>>> Peter Kokot
>>>
>>> --
>>> PHP Internals - PHP Runtime Development Mailing List
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>> Hello.
>>
>> Peter above put my thoughts perfectly.
>>
>> BC is great, but you need to pull the cord at some point. And the whole
>> short tag back and forth, with deprecation warning and stuff, has been
>> around for last half a decade. It is time to accept that it needs to go and
>> there should be no runtime dependent switch for this. Valid PHP tags are
>> `<?php` and `<?=` and that's it.
>> I really liked how language picked up the cleanup pace in the last few
>> years and it needs it. I finally see genuine interest in people to actually
>> either come back or pick it up instead of JavaScript (NodeJS) and other
>> fancy new shiny stuff. And a lot of it is because of the cleanup efforts
>> and WTF?! removal, the language having the option to be stricter (I was not
>> a fan of strict mode when it was coming up - now I don't use anything else
>> - it is AWESOME).
>> If the old guard starts to push back as much as I have seen here, we are
>> going to lose momentum as a community and have people not willing to work
>> on PHP as much. I mean anyone who has been on this list for more than 10
>> years should remember how it was in 5.0-5.4 days - slow, painful and
>> somewhat unfriendly, until a few major contributors kind'a muddled though
>> and pushed a few major changes that allowed the momentum to build up and
>> somewhat break the stalemate (and it did help that HHVM reared it's head
>> and had stroked a few egos the wrong way). I guess the curve repeats
>> itself, but we should make an effort to curb it and not revert back to "BC,
>> BC, BC!!!!" holding everything up.
>>
>> Wait, how could positive progress have been made while short tags still
> existed?
>
>
>> Reality is, a lot of those "non-tech company" examples people give here
>> has nothing to do with language evolution. Yes, they are users, but we are
>> not responsible for the code they write, for the way they configure their
>> web servers and the way they can run a PHP4 server past 10 years and still
>> have no clue, because nobody cares or "it works, it makes money, no need to
>> invest". I would say that most of us on this list, if not everyone, are
>> smart enough to run/leave/not work for companies like that, so we are
>> somewhat shielded from that ignorance and just forget how bad it can be.
>>
>> Long story short - indecision is not an option. The previous RFC has
>> passed. Everyone involved, I hope, understands that yes, there will be
>> stuff going wrong for some users who are careless and/or ignorant and live
>> under a rock. Can we really do anything about that? I would say no unless
>> we freeze the language and do nothing. I mean I have exposed my PHP code
>> during server setup by just forgetting to do `systemctl reload nginx`,
>> hitting the URL and getting my `index.php` on the screen more times than I
>> care to confess to.
>>
> You're in the "all or nothing" logical fallacy. You are acting as if being
> against the removal of short tags is the same as being against any BC break
> at all. As we've said MANY times, BC breaks aren't the issue. THIS
> PARTICULAR BC BREAK IS THE ISSUE. It provides little to no positives to the
> users and does very little, if anything, to improve the language. At the
> same time it WILL lead to a very big barrier in terms of the ability to
> upgrade for a large number of users.
>

The RFC's both covered the fact that there is no good way to deprecate and
remove short tags cleanly. Whatever road you take - it is going to result
in issues for some users.
The crux here is not the tags themselves per-se, but the engine level
switch that changes the functionality of how the code is parsed. I mean if
push comes to shove and people really really really do not want to remove
`<?` to a point of using veto rights or pulling their weight or whatever
can happen - leave them in (though I'm strongly against that), but the
runtime switch needs to go.


>
>
>> Let's look into the future, use a reasonable amount of caution and/or
>> deprecation notice periods, but please stop trying to block features
>> "because stupid users". You give them the most secure software you can
>> write, they go change settings on their own and get p0wned/defaced/hacked
>> anyway even when you tell them not to do it and that y'r refusing to work
>> on their project because of decisions they make.
>>
>> Actually, most BC breaks, including this one, seem to be focused on
> preventing issues from "stupid users." We're saying that short tags are bad
> because of reasons. We can't trust users to not use short tags as long as
> they exist, so we must force them to stop using them, no matter how painful
> that might be. That's actually an OK thing to do if the reasons for doing
> so justify it. I have yet to see the justification. All I've seen is people
> attempt to mitigate the cost of the break, or, say the cost doesn't really
> matter.
>

Because it is a runtime switch that affects how the engine works. It has
been agreed years ago that they need to go like `register_globals` and a
few others have been removed with time. This is the same category. It is
language and engine cleanup.
-- 
Arvīds Godjuks

+371 26 851 664
arvids.godj...@gmail.com
Skype: psihius
Telegram: @psihius https://t.me/psihius

Reply via email to