It's a pretty big achievement and avoids a lot of hassle for users as you don't have to maintain different versions of programming languages on a server.
It's a pretty big achievement and avoids a lot of hassle for users as you don't have to maintain different versions of programming languages on a server.
There are dozens of breaking changes in this release alone: https://github.com/php/php-src/blob/96c7d42a3ca9d822a08b3dd4...
Some of the changes are sadistic. "The precedence of the concatenation operator has changed relative to bitshifts and addition as well as subtraction." Have fun debugging code that worked perfectly well for years and now produces unpredictable results.
Even if you wanted to push the 8.0.0 to production as soon as it came out, you'd still have until November to run your tests on the RC branch and report any mishaps to the development team.
The backwards compatibility is mostly targeted to major platforms (Wordpress, Drupal, Magento, Symfony, etc).
> Have fun debugging code that worked perfectly well for years and now produces unpredictable results.
This describes my everyday experience with any language or codebase.
The cause for the unpredictable results are often human-related though, not version-related.
> Some of the changes are sadistic. "The precedence of the concatenation operator has changed relative to bitshifts and addition as well as subtraction."
I would gladly remove any code that does concatenation and math/bitwise on the same expression relying on the operator precedence. Sadistic is the person who writes these.
More than 2000 packages were analyzed and only 5 instances of that particular use were found[1], all bugs. This is a good change.
> This describes my everyday experience with any language or codebase.
That is horrifying. That should absolutely not be normal. I don't know what you work with normally, but it's clear that we are working in completely different worlds.
Stuff just breaks. Sometimes I get lucky and the guy before me wrote a cool test that prevents me from having to start a debugger, but the contrary is often the reality. OSS stuff is usually better, but not much better (OS upgrades always break, for example).
These changes reflect how people use the language or what they already believe it to do.
I can't think of a single time that I've seen a bug exposed by language changes. I have seen dozens of bugs created by language changes, however. (Mostly crashes).
Granted, Pinboard is just a wrapper around some SQL queries, but that's what most PHP apps are. It was a big relief to find the migration so easy.