Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



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


What's wrong with GCD?


It'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_libdi...


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: