About Me • Stephen McCullough • Currently working at ShopKeep as Senior Software Engineer • On a daily basis I use python & ruby • Find me at swm.cc or @swmcc on various interwebs
Immutability and functional • Elixir is a functional language with immutability • Mutability brings an uncertainty about how a program will execute • Functional programming and immutability makes it easier to reason about code
Web Framework • Phoenix is the most popular web framework (for now) • Creator of Elixir is a Rails core member and the creator of Phoenix • Opens up possibilities that are not present in traditional web frameworks
Pattern Matching • In Elixir, the = sign doesn’t necessarily mean “set this variable equal to something else” • The realisation that it behaves differently based on the types involved
List Comprehensions • I <3 list comprehensions. Ruby doesn’t have them but python does. • I have found that Elixir often has better functions (such as those from List and Enum) which are more flexible.
Higher-Order Functions • Passing functions as arguments - it can be done in ruby and python. • Native and natural part of the language rather than an oddity.