3 ms·
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 vers
by ThomWilhelm3 6y 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?
- tonyedgecombe 6y agoI 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.
- echelon 6y agoPython 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.
- tonyedgecombe 6y agoI thought the problem was carrying on support for 2.xx too long. Some people will never move on unless they are forced to.
- mrweasel 6y agoI'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.
- pansa2 6y ago> 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.
- tjpnz 6y ago>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.
- ThomWilhelm3 6y agoGood point :)
- nikic 6y agoPHP 8 has plenty of breaking changes (https://github.com/php/php-src/blob/08e6c209550a268500bbdef48c1b19494272e6e8/UPGRADING#L20 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.
- deleted 6y ago[deleted]