Hacker News new | ask | show | jobs
by vpkaihla 3752 days ago
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.

2 comments

> 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.