Phil Trelford suggests domains, such as modeling, DSLs, concurrency, for which functional programming is well-suited, and areas for which an OO or a mixed approach has better results.
Damien Katz explains the benefits and drawbacks of using Erlang, why this language is from the future and why Couchbase has migrated some of the CouchDB’s initial Erlang code to C/C++.
Steve Vinoski introduces Erlang’s OTP Frmework, outlining some of its main features, including several behaviors – implementations of common patterns useful for concurrent fault-tolerant applications.
Bryan Hunter introduces Erlang, comparing various language features with C#’s, emphasizing what it is good for and doing a demo.
Peter Van Roy discusses solving concurrency issues with deterministic concurrency using Ozma, an extension of the Scala language employing the Oz deterministic dataflow concepts.
Trisha Gee introduces Disruptor, a concurrency framework based on a data structure – a ring buffer – that enables fast message passing in a parallel environment.
Jeff Lindsay discusses creating distributed and concurrent systems using ZeroMQ – a lightweight message queue-, and gevent – a coroutine-based networking library.
Steve Vinoski believes that actor-oriented languages such as Erlang are better prepared for the challenges of the future: cloud, multicore, high availability and fault tolerance.
Joshua Bloch, Robert Bocchino, Sebastian Burckhardt, Hassan Chafi, Russ Cox, Benedict Gaster, Guy Steele, David Ungar, and Tucker Taft discuss the future of computing in a multicore world.
Martin Thompson and Michael Barker explain how Intel x86_64 processors and their memory model work along with low-level techniques that help creating lock-free software.
Ivan Sutherland elaborates on the idea of a “prison” defined by sequential computers that work with sequential character strings making communication expensive and obstructing concurrency.
Dierk König introduces GPars, Groovy’s library for concurrent programming, explaining a simpler and less error-prone way to use fork/join, map/reduce, actors, and dataflow in Java and Groovy.