
ECC - Fun Writing Compilers
Joe Armstrong presents ECC, an optimizing compiler running on LLVM for writing C compilers for unusual architectures, for implementing DSLs and for experiments with JIT compilation.

Joe Armstrong presents ECC, an optimizing compiler running on LLVM for writing C compilers for unusual architectures, for implementing DSLs and for experiments with JIT compilation.

Joe Armstrong explains through Erlang examples that message passage concurrency represents the foundation of scalable fault-tolerant systems. Some of his presentation’s nuggets are: using the wrong abstractions makes life artificially difficult; it’s not about objects, it’s about messages; no shared memory; messages enforce isolation if communication is asynchronous; it’s all about protocols.

Joe Armstrong presents 6 laws to obey in order to obtain high system reliability, Isolation, Concurrency, Failure Detection, Fault Identification, Live Code Upgrade, and Stable Storage, showing how they are respected in Erlang and followed by some examples from practice.

This presentation explores how Erlang addresses the general problem of concurrent, real-time, fault-tolerant, and distributed parallel computing. The author argues that changes in the world of hardware and the complexity of the programs we write assure that sequential programs will decline in performance but parallel programs will increase performance.

How do you program a multicore computer? Easy - do it in Erlang. Erlang is a concurrent functional programming language designed for programming fault-tolerant systems. With share-nothing semantics and pure message passing, Erlang programs scales on multicore computers. In this talk, Joe introduces Erlang, the ideas of Concurrent Oriented Programming and commercial applications written in Erlang.

In this interview filmed during QCon London 2008, Joe Armstrong, designer of Erlang, speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days due to its native ability to scale on multi core systems.