Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The trouble with the Python 2 => 3 transition is just how much work it imposed on everyone in the ecosystem, and the general lack of care for backwards / forwards compatibility in the ecosystem - the fact you need something like "virtualenv" at all is damning in itself, out of the major stacks only NodeJS requires similar hacks (e.g. nvm).

The PHP world, for example, is very famous for its focus on compatibility: breaking changes are generally announced far before they are released, and the amount of actually breaking changes is very very small - out of my mind, the only thing that really bit a lot of very old code was the removal of implicitly provided global variables and the mysql legacy functions, which by that point were deprecated for like a decade and in many cases could be resolved by more-or-less simple search and replace runs. Other than that, a lot of legacy code works fine or with similarly minor modifications in PHP 8 - while the runtime itself is capable of running code with syntax features of the modern world.



The 8 series has made a lot of little changes that are currently deprecations but if converted to errors as promised in 9 will be the end for lots of legacy code without changes: most of the standard library not taking null arguments where it used to, changed/added typehinting for the standard classes affecting anything that extends/implements them, and disallowing dynamic properties on objects are some big ones that come to mind.

Once 9 makes some of this mandatory it'll also be much more difficult for a single codebase to work across a wide range of PHP versions. That's possibly even an explicit goal: forcing narrower support from applications and libraries will prod more hosts and end-users to update.

Not that these are bad changes, but that the philosophy of extreme compatibility really isn't in force anymore. It's not a Python 2/3 scenario but a gradual constant shift.


On the flip side, and to be crass, PHP is a hell language that many hate or refuse to program in. I do wonder if there's a correlation.


Most of the PHP haters haven't worked with PHP since the 5.x days. PHP 7 started to reverse the trend and PHP 8 together with a decent IDE is on-par with Java.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: