In the comp.arch newsgroup, we've been following a heated discussion about Parallelism. It's focused on the question of designing software to run on multiple cores, either with shared memory or message passing.
We're of the opinion that the compiler can assist the developer in this task. After all, the compiler knows what is (or could be) in memory at any one moment.
We've just posted a new paper that compares IEC 61131 fuzzy logic constructs and Fuzz-C additions to C for embedded systems. If you're moving from programmable logic controllers to C for embedded systems, this paper shows the similarities and differences between the two.