Inaka
"Thinking in a highly concurrent, distributed language".
Francesco Cesarini-Inaka
Yale Professor Alan Perlis once wrote, "A language that doesn't affect the way you think about programming, is not worth knowing." The Erlang programming language has received much attention because of its scalable and intuitive approach to concurrency. But the notion of concurrency is as fundamental to Erlang as object-orientation is to Java, and to really appreciate its power, you need to learn to think Erlang. Doing so leads to scalable and fault-tolerant designs. By chronologically walking through architectures and concurrency models, this talk describes how Erlang thinking has evolved together with the changing requirements of the problems it solves. We will cover Erlang's approach to concurrency and distribution in 1995, when the limit of processes was 30,000 and a hot standby architecture was the norm, to today, when millions of processes coexist in linearly scalable cloud architectures.