3 ms·
I don't find GCD difficult to write for, maybe if you are used to Go it is different enough. Not sure what exactly you would use Go for in an iOS/Macos app unle
by coldcode 8y ago
I don't find GCD difficult to write for, maybe if you are used to Go it is different enough. Not sure what exactly you would use Go for in an iOS/Macos app unless maybe you have a Go framework you want to include.
- saagarjha 8y agoIsn’t this what the author is doing?
- mmjaa 8y agoI consider GCD to be a bit of a smell - not because its difficult to write for, but rather because its difficult to port such code elsewhere. And really, this seems to be the only rationale for Apple having maintained it as a component of the architecture for iOS - to be relatively different, or just different enough, from other systems to dissuade porting the code elsewhere.
- almostdigital 8y agohttps://github.com/apple/swift-corelibs-libdispatch https://github.com/apple/swift-corelibs-libdispatch
- armadsen 8y agoYeah. Worth noting too that libdispatch has been open source since it was released 10 years ago. I compiled and used it on Linux before Swift was out.
- mmjaa 8y agoSure. The solution to not wanting to be dependent on Apple's software is .. to use more of Apples software. Not really rational.
- iainmerrick 8y agoIt’s open source. You can use it on Linux rather than being tied to MacOS or iOS. What’s your objection?
- mmjaa 8y agoLets try this a different way. Whats so great about GCD that other processor resource management systems get so wrong, that using GCD is the only thing that makes sense to you? (Hint: its koolaid, kid.)
- iainmerrick 8y agoIt’s not a memory management system.
- mmjaa 8y agoRight, brain fart on the train. But the point still stands, why should we use GCD when there are other more portable means out there - which are also supported on iOS - to do the same thing? It's just different for the sake of being different.
- iainmerrick 8y agoWikipedia says GCD and Go are the same age (both released 2009). Is Go also different for the sake of being different? Why is Go good and GCD bad? I imagine we’re not going to convince each other of the technical merits, but I personally think GCD is a very nice programming model. I’m less of a fan of Go but plenty of people love it so clearly there’s something there. There’s room for both. It’s a valid criticism of a lot of Apple tech that it’s very locked down, but given libdispatch is open source (as are the Clang changes to support block syntax in C) I don’t think that criticism is fair here.