Stuart Halloway discusses how we use a total control time model, proposing a different one that represents the world more accurately helping to solve some of the concurrency and parallelism problems.
Dale Schumacher explains the actor concept and how it helps us build a computational model resembling the reality around us more accurately than the object-oriented model.
Ralph Johnson presents several data parallelism patterns, including related Java, C# and C++ libraries from Intel and Microsoft, comparing it with other forms of parallelism such as actor programming.
Ralph Johnson presents several data parallelism patterns, including related libraries from Intel and Microsoft, comparing it with other forms of parallel programming such as actor programming.
Guy L. Steele Jr. believes that programmers should not think about parallelism, but languages should provide ways to transparently run tasks in parallel by supporting independence-based constructs.
Guy Steele, Douglas Crockford, Josh Bloch, Alex Payne, Bruce Tate, and Ted Neward (moderator) hold a discussion on the future of programming taking questions from the audience.
Don Syme on functional languages features, showing why and when they are useful for parallel programming: simplicity, composability, immutability, lightweight reaction, translations, data parallelism.
Ulf Wiger shows how concurrency can lead to accidental complexity if it is badly implemented in code, becoming a project’s point of failure. Wiger also advises on how concurrency should be addressed.
Simon Marlow explains through code samples what Haskell has to offer for concurrent programming through concurrent data structures and thread-based concurrency, and Haskell’s tools for parallelism.
Ralph Johnson on a pattern language for parallel programming based on the following patterns: Structural, Computational, Parallel Algorithm Strategy, Implementation Strategy, and Concurrent Execution.
Rich Hickey advocates the reexamination of basic principles used today like state, identity, value, time, to create new constructs to deal with the massive parallelism and concurrency of the future.
Ulf Wiger shows typical Erlang programs, patterns that scale well on multicore and patterns that don't, profiling and debugging parallel applications and ensuring correct behaviour with QuickCheck.