4 ms·
Apple's botched introduction of Swift is easily responsible for billions of dollars in lost productivity across the industry since 2014.
by pavlov 6y ago
Apple's botched introduction of Swift is easily responsible for billions of dollars in lost productivity across the industry since 2014.
- saagarjha 6y ago"Botched introduction, really? Perhaps Apple could have been a bit more upfront about the state of the tooling (which, of course, they never will be) but I think they did a rather good job considering that they moved development out from "total secrecy" to "community-involved" within two years, all the while shipping new features and improvements to the experience at a fairly decent pace.
- pavlov 6y ago> “which, of course, they never will be” That’s the problem. Apple knows by now that their developer community laps up absolutely everything they put out and regularly gets burned. (I’m old enough to have rewritten code for Cocoa Bindings in 2004. It’s the next big thing! And garbage collection in 2008. It will fix everything! And GCD... and...) For such an enormous change as Swift, they should have switched off the reality distortion field, and gone with a more sober, more academic approach.
- Apocryphon 6y agoWhat's wrong with GCD?
- pavlov 6y agoIt's a great library for a lot of things. When originally introduced it was also heavily oversold by Apple as a magic bullet for concurrency. Here's one account: https://tclementdev.com/posts/what_went_wrong_with_the_libdispatch.html https://tclementdev.com/posts/what_went_wrong_with_the_libdi...
- astrange 6y agoThis page overstates the issues. Almost all the initial GCD design is still good, we just ended up with a lot more smaller low-core and non-SMP processors than expected. Also most of the performance issues are with excess parallelism (runnable threads), not concurrency (hiding IO latencies).
- favorited 6y agoAside from ObjC garbage collection, those things are all still good. Bindings enabled you to create things like complex editable tabular UI without writing any code. And the recommendations about how to use GCD efficiently have changed over the years, but it's still the foundational solution to concurrency on Darwin platforms (including being the basis for the new async/await runtime for Swift).
- thu2111 6y agoYes totally botched. We know because have can compare to Kotlin, a project which started around the same time. Google's migration to Kotlin has been progressing very well with no disaster stories like this one. Kotlin was engineered very carefully, developers love it, it scales well and importantly it can be incrementally added to existing codebases because interop is nearly perfect. So the risk to adopt it is far lower. Sounds like Uber got burned with Swift and now aren't really adopting Kotlin which is understandable but IMO a mistake.
- typ 6y agoI’m afraid it could easily be the biggest mistake made by Apple over the last decade. The bloatedness and slow build time just aren't justified by the shiny, convenient language features.
- taeric 6y agoThis assumes a major counter factual where all of the same work was somehow more productive otherwise. Seems dubious.