"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.
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.
Aside 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).
This 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).
Yes 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.
I’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.