If you think functional languages are a big pain in the rear but you still need the tools for building concurrent applications and multi-core programs, then Elixir is your thing! Combining the best features of Ruby and Erlang with brilliant ideas of its own, Elixir might just change the way you write software forever. This tutorial introduces you to Elixir, the best of both worlds: Ruby’s unrivaled syntactic beauty with the power of Erlang’s semantics.
Elixir is a dynamic language with flexible syntax based on Ruby and macro support. It is built on top of the Erlang VM, an unrivaled environment for massive scalability, concurrency, distribution, and fault tolerance. It comes with built-in support for metaprogramming, provides first-class support for pattern matching, polymorphism via protocols (similar to Clojure’s), aliases and associative data structures (called dicts or hashes in other programming languages).
In this tutorial, we cover:
Marc Sugiyama is a senior architect at Erlang Solutions, Inc. A Bay Area native, he has more than 30 years of software development experience, and has worked on everything from testing frameworks in Tcl at Sybase and Cisco, to SMP relational database engines in C at Sybase, to an MMO engine in Twisted Python for Pixverse (a company he co-founded), to a large scale real-time chat system in Erlang for hi5 Networks. Prior to joining Erlang Solutions, Marc built a call handling service in Erlang for Ribbit/British Telecom, where he led a team of developers in Brazil, Sweden, the US, and the UK. A published author, he wrote his first magazine articles and books while still in high school. He has presented at Sybase user group meetings and the Colorado Software Summit. He holds a Bachelors of Science in Engineering and a Masters of Engineering from Harvey Mudd College, Claremont, California. Marc serves on the board of trustees of The College Preparatory School in Oakland, California.
Comments on this page are now closed.
©2015, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com