Hacker News new | ask | show | jobs
by ThomWilhelm3 2159 days ago
I always wonder why PHP never seems to favour making breaking changes to keep things cleaner, if you aren't going to improve language constructs in a major version, when will they be cleaned up?
2 comments

PHP 8 has plenty of breaking changes (https://github.com/php/php-src/blob/08e6c209550a268500bbdef4...), mostly in the department of throwing errors more aggressively, and fixing some long-standing "features" (like 0 == "foobar" being true). But there's a budget to this, and you have to strike a balance between how much code you break and what benefit you get out it.
I think that post Python 3 nobody is going to do that.

It would be interesting to see a fork which removed all the crud though. Something that was easy to use for the person doing occaisional web work or beginner but without the traps and pitfalls.

Python 3 attempted too much change at once. The Python folks could have spread incremental rollout of the changes across several major version numbers and probably not have faced such slow adoption.
> Python 3 attempted too much change at once.

Python 3 got this so, so wrong. It changed enough to break everyone's code, but not enough to make upgrading worthwhile.

It could have changed more, or changed less - done right, either would have been better than what actually happened.

I'm not sure that they could have spread it out. I believe that was the point of Python 3. Still, PHP may end up in the exact same position Python was in for the last decade, if they tried to do a similar change.

It could be worse of cause, they could end up like Perl 6 (now Raku), which makes Python 3 look like a successful transition in comparison.

I thought the problem was carrying on support for 2.xx too long. Some people will never move on unless they are forced to.
>It would be interesting to see a fork which removed all the crud though.

My understanding was that some of that already exists in Hack. Although it seems they might've not gone far enough.

Good point :)