Parallel Programming: I Told You So
linux-mag.com
linux-mag.com
For decades, parallel programming was only done by people in the high performance world. It was (is) difficult and often painful. The languages, APIs and paradigms were broken in various ways. But they got the job done, and the relatively few people who actually needed to do it were able to.
It's only now that parallel programming is moving into the mainstream. Hence, it's only now that it's worthwhile for computing as a field and an industry to pour the resources into making parallel programming "easier." The benefit from doing it before was marginal.
You get read-only access to stack variables, read-write access to stack variables defined with __block, and you have to copy the block explicitly to the heap if you want to call it outside of its scope, and then manually free it.
http://en.wikipedia.org/wiki/Blocks_%28C_language_extension%...
The Ars Technica review of Snow Leopard features a nice introduction to the new language feature:
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.a...
Correct me if I'm wrong though (which would only make me very happy); been years since I did Java.
Does this mean blocks and GCD would allow easier cluster and cloud computing too? Or maybe use all the CPUs in a household to complete tasks?