3 ms·
Ruby went through a similar period when transitioning from 1.8 to 1.9. Strings learned about encoding, breaking most libs handling strings, some syntax was adde
by Xylakant 6y ago
Ruby went through a similar period when transitioning from 1.8 to 1.9. Strings learned about encoding, breaking most libs handling strings, some syntax was added, some removed. It was possible to write 1.8 and 1.9 compatible code, but it took some effort. However, the big players in the community, rails etc. tackled that change head on. It was a point of pride for libraries to be 1.9 compatible. And everyone moved on. I’m always puzzled by how hard the python community ist stuck on 2.x
- pansa2 6y agoPython didn’t have a single big player like Rails to “lead the charge”. Instead, its ecosystem is made up of many smaller libraries. Because it’s not possible to run Python 2 and Python 3 code together, none of those libraries could upgrade until its dependencies had done so. This just led to everyone waiting for everyone else.
- xapata 6y agoPoint 2 is False. It's easily possible to write code compatible with both 2 and 3. It's becoming less pleasant as one can't take advantage of the great new features from v3.6+, but I've done that for about a decade now. I agree somewhat with Point 1, but the Python ecosystem is larger than Ruby's. Each domain could have moved separately, and did, to some extent.
- pansa2 6y agoSorry, I meant that Python 3 code can’t use dependencies that are written in Python 2. Therefore a library couldn’t upgrade to Python 3 until all its dependencies had upgraded.
- deleted 6y ago[deleted]
- t-writescode 6y agoAt least Python did it on a major version release, when breaks are supposed to happen, not a minor version release.
- p_l 6y agoThe scuipie od changes was also intentionally smaller. I've seen programs where all it took to fix changes was maybe 15 minutes if you actually replaced the code, instead of injecting few methods to String class.