You may wish to explore functional programming, but are put off by the academic feel. You know you need concurrent applications, but also know these are almost impossible to get right. Meet Elixir, a functional, concurrent language built on the rock-solid Erlang VM. “Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun” (Pragmatic Bookshelf, US$36 paper, $24 ebook) is the introduction to Elixir for experienced programmers.
Because Elixir runs on the Erlang VM, and uses the underlying Erlang/OTP architecture, it benefits from almost 20 years of research into high performance, highly parallel, and seriously robust applications. Elixir brings a lot that’s new: a modern, Ruby-like, extendable syntax, compile and runtime evaluation, a hygienic macro system, and more.
It also brings a sense of enjoyment to parallel, functional programming, says Dave Thomas, a programmer and author of “Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun” (http://tinyurl.com/nd57e7l). Your applications become fun to work with, and the language encourages you to experiment.
Part 1 covers the basics of writing sequential Elixir programs. Part 2 uses these skills to start writing concurrent code-applications that use all the cores on your machine, or all the machines on your network. Part 3 looks at the more advanced features of the language, from DSLs and code generation to extending the syntax.
Thomas is a programmer who likes to evangelize cool stuff. He cowrote “The Pragmatic Programmer” and was one of the creators of the Agile Manifesto. His book “Programming Ruby” introduced the Ruby language to the world, and “Agile Web Development with Rails” helped kickstart the Rails revolution.