Hacker News new | ask | show | jobs
by vpkaihla 3746 days ago
The reason for that is that python2=>3 fixed several fundamental problems. 5.6 => 7 is just a incremental upgrade, whatever the version numbering tells you. Most of the PHP problems are still there.
2 comments

> The reason for that is that python2=>3 fixed several fundamental problems. 5.6 => 7 is just a incremental upgrade, whatever the version numbering tells you. Most of the PHP problems are still there.

too bad for py3's fundamental problem: that it broke the interface so badly, people still don't use it. PHP7 has no such problem, and gets to add boatloads of new features (which will be immediately used/adopted) while deprecating old versions of the language.

You don't understand. To fix problems like python3 did, you have to break older code.

Php7 did nothing like that, that's why the "porting" process was so light. But it also means it didn't fix any of the big things.

> Php7 did nothing like that, that's why the "porting" process was so light.

This is nonsense, PHP 7 contains a long list of backwards-compatibility breaks:

http://php.net/manual/en/migration70.php

If PHP 7.0 didn't break anything, it would have been called 5.7.

The upgrade is easy simply because these breaks do not have as much of an impact as Python's did.

No, it's not nonsense. The things you listed in there are incremental fixes, not fundamental.

http://php.net/manual/en/language.types.type-juggling.php

How would you fix this without breaking most PHP code out there?

How would you fix ==, > and < behaviour without breaking most PHP code out there?

How would you fix Unicode without breaking most PHP code out there?

If PHP fixed things like this, it would be a decent programming language, but it would also break a lot of things. Kinda of like what python3 did, only that it didn't have to break quite so much, since python2 was already pretty decent.

imho python3 fixed the issue in the wrong way, so it will never have a great amount of users: down the road the choice will be upgrade to python3 or choose a more modern programming language like go with immense performance boost. I think people will choose to leave python.
So python will be better in version 3 and people will move to better languages? Sounds like a win-win to me.
5 to 7 does fix some big problems, however. In particular, it is the first release with uniform syntax for variables (https://wiki.php.net/rfc/uniform_variable_syntax) and an AST-based compiler. It also replaces a lot of PHP-style errors with exceptions.