Respectfully,
PHP's 'Unexpected behavior is not a bug' stance is pretty infuriating;
the utterly ridiculous T_PAAMAYIM_NEKUDOTAYIM argument comes to mind.
> It is not a bug, as the issue's status says: "Not a bug".
I can understand why this would have been a 'wontfix' for versions
pre-7.0. However, major version changes are done primarily to fix these
kinds of inconsistencies - that and marketing - and yes they are
precisely that: bugs. Documentation of unexpected behavior does not make
something 'not a bug'. I and countless other PHP devs simply avoid using
these easily correctable, useful language features because they are
cumbersome, unexpected and actively discouraged in the documentation
itself; how the sum of these facts doesn't qualify as a bug is outside
all but the narrowest, most bizarre definitions of 'bug' that exists in
any software community.
The fact that it *may* break *some* code that is used somewhere despite
documentation recommending against it (pretty much deprecating it
already for years) is a terrible reason not to re-evaluate the situation
given the huge opportunity to correct this.
> It's another one of those bonkers changes. It changes behaviour of
> already existing syntax. This sort of meddling with the language is
> difficult to detect, and there is little value in fixing it. Don't
> piss off users for purety.
The only thing that's bonkers here is outright refusal to make trivially
breaking changes (in addition to numerous other breaking changes already
accepted) simply for the sake of not breaking some 0.00001% of outdated,
against-recommendation code. This is not an argument for purity - I want
a working-as-expected ternary syntax as a feature, right now it is an
un-feature and is a caveat that must be documented - it is a wart. If
the goal was purity, PHP wouldn't even make the list of languages I
would consider.
Rather than simply pointing to a 3-year-old close-reason, it would be
prudent to actually get statistics on how often this unexpected behavior
is relied upon in large, popular codebases. Packagist & Github, that
didnt exist significantly in the PHP community in 2012, would be a good
place to start. It would not even be outside the realm of possibility to
do a bit of evangelism via Github issues if such cases are found so they
can be fixed with a 1-year notice.
It's short responses like this and the continued reliance on arguments
posed in a different era/landscape that compel me to reconsider my
continued participation in the PHP community at all.
cheers,
--
Leon Sorokin
On 12/13/2014 5:20 PM, Derick Rethans wrote:
On Sat, 13 Dec 2014, Leon Sorokin wrote:
I was wondering if 7.0 could be the version to fix the long-standing
incorrect ternary associativity bug in PHP [1].
It is not a bug, as the issue's status says: "Not a bug".
This seems especially worthy of reconsideration since the Null
Coalesce RFC has been accepted and merged [2] with the correct
associativity [3].
It's another one of those bonkers changes. It changes behaviour of
already existing syntax. This sort of meddling with the language is
difficult to detect, and there is little value in fixing it. Don't piss
off users for purety.
I suggest you read this too:
http://derickrethans.nl/bc-dont-be-evil.html
The major version change seems like the only time to get this done in PHP.
Only time it is *allowed*; that doesn't it should be done.
cheers,
Derick
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php