The approach to parallel programming is fairly standard via parallel data structures. A single new ParallelArray object provides all of the new behaviour needed. You can convert a standard array, including a Canvas pixel array, into a ParallelArray or create a new object using raw data. Once you have a ParallelArray you can operated on it using new parallel methods such as map, reduce, combine, filter etc. All synchronization and locking is taken care of automatically.
You can see River Trail in action in an application that is closer to a 3D game in the following video, but the sound quality is poor.
On the basis of scanning million of lines of code Coverity has discovered that in 2013, the defect density in open source code was lower than that in proprietary code. This may be less than reassuring [ ... ]