4 ms·
Swift is 3 years old. Most people who use it will be on the latest version Swift 4 within a few months. Apple won’t let developers stay behind. While it was un
by melling 9y ago
Swift is 3 years old. Most people who use it will be on the latest version Swift 4 within a few months. Apple won’t let developers stay behind.
While it was unrealistic for Python to be that aggressive given its larger community, not forcing the issue created a lot of unnecessary work for the community. A benevolent dictator should have moved developers along faster. Having the language fragmented for this long is extremely unproductive.
- gogopuppygogo 9y agoPython 3 faced a lot of friction when it was introduced. There was no backwards compatibility with Python 2 and it had relatively little adoption. They added Python 3 features to Python 2 over the years to encourage adoption of Python 3 as the standard. It worked. Now we just need Apple to ship Mac OS with Python 3 instead of 2 as the default and that'll push adoption for developers.
- mikebenfield 9y ago> They added Python 3 features to Python 2 over the years to encourage adoption of Python 3 as the standard. It worked. Did it really? My impression was the opposite: the fact that so much of Python 3 became available in Python 2 made people feel like there was no point in moving to Python 3.
- viraptor 9y agoIt worked both ways. Some new features were ported back, some could be ported, but explicitly weren't to encourage migration. On the other side, things like the "u" prefix got re-added to python 3 for compatibility.
- weberc2 9y agoI don't think Apple could even get away with this if Swift were more than 3 years old. I suspect the relationship between migration pain and age is exponential.
- jpttsn 9y agoIn part it's age. In part, Apple get away with it because they forewarned developers. Swift explicitly intended a "move fast and break things" approach to syntax, naming etc.
- jxramos 9y agoI like it, "development tough love", ha. I think looking back it becomes clearer in hindsight that it really did consume a lot of community energy. I'm vaguely sensing maybe some kind of community development bystander effect where fixing and upgrading is someone else's problem has kept the divide around longer than it needed to be.
- kbenson 9y agoIsn't Swift compiled? I'm not sure it's relevant to the specific problems faced here, unless a library written and compiled in earlier versions of Swift won't be usable in a Swift 4 project.
- ori_b 9y agoThat's the case. Swift is currently not abi compatible, so libraries compiled with one Swift version only work with that version.
- kbenson 9y agoAh, I see. I assume you could compile to a C compatible library, but they you would have to deal with marshaling costs where the types mismatch, correct?
- deleted 9y ago[deleted]
- BeetleB 9y agoForcing the issue early on would have killed Python3. For the first so many years, the majority was against Python 3.
- maxerickson 9y agoHow would they have forced the issue?
- concede_pluto 9y agoThey should have created an annotation or something saying "this file uses the python3 dialect", made python3 run all python2 code unmodified (the only way to not require both being on $PATH), and halted python2 releases except critical security bugs.
- AceJohnny2 9y ago> Apple won’t let developers stay behind. On macOS 10.12.5, released 2017-05-15: $ /usr/bin/python -V Python 2.7.10 That's a release from 2015-05-23. Latest is 2.7.13 released 2016-12-17. And no system python3. Only through Homebrew/Macports.
- melling 9y agoI'm not sure I understand your point. They have a version of Perl from 2013 too. Do you think that means they don't care about Python? Perhaps it's not a strategic language for them? No one said they the provide a full Unix system or keep everything else up to date. Apple has a very narrow focus on what's important to them.