Apple's Grand Central Dispatch Ported To FreeBSD
bonch writes "Apple's Grand Central Dispatch, which was recently open sourced, has been ported to FreeBSD and is planned to be included by default in FreeBSD 8.1. Also known as libdispatch, the API allows the use of function-based callbacks but will also support blocks if built using FreeBSD's clang compiler package. There's already discussion of modifying BSD's system tools to use the new technology." The port was originally unveiled last month at the 2009 Developer Summit in Cambridge. Slides from that presentation are available via the Dev Summit wiki.
Frankly I think its a good thing. The BSD code tree is so old parts of it were rotting from the core. This may inject a vigorous new root into the tree. A sort of BSD for the 21st century perhaps.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
So we're supposed to be thankful for them following the terms of the license? yeah... that makes sense
Good grief: "professional coders"?????
Where do you think they got the code from in the FIRST PLACE????
And citing Stallman isn't a God-Win in a FOSS argument. Get real.
---- Teach Peace. It's Cheaper Than War.
Let's be clear, GCD provides Objective-C with the features Java has had for over a decade now. The only difference is that thread pool sizes are globally co-ordinated, but as I mentioned in a different post further up, I think this is a gimmick and of all the problems I've had writing multi-threaded code, global co-ordination of thread pool size would have solved none of them.
There's absolutely nothing new or cool about thread pools and closures. Java developers, in fact anybody working in a modern high level language, have taken this for granted for a long time. If you want to see the successor of the BeOS API take a look at the Android API some time, which provides the same closure/invoke systems that GCD does along with a lot more. Android was designed in part by a bunch of former BeOS folks and can be seen as a simplification of that API whilst retaining its power for those who are able/willing to use threads.