study notes taken from the Upcase's Intro to Elixir, Elixir & Phoenix in Production course
Intro to Elixir
a functional programming language runs on Erlang virtual machine.
ruby-like syntax, compiles down to Erlang virtual machine byte code.
language features: pattern matching, stream data through bunch of functions via pipes, takes the advantage of all cores of CPU, live web sockets via channels, fault tolerance with supervisor watching and restarting crashing processes.
getting started with elixir lang website documentation, and the book programming elixir.
Intro to Phoenix
implementing features with less code and yet flexible by taking the advantage of functional composition.
protocols makes formatting input more easily.
able to provides nice documentation in the error messages.
everything runs within the processes, messages are sent within the processes, which avoid duplicates when testing.
built on OTP (open telecom platform), enables spawn processes dynamically with supervisor (background jobs without relying on third party dependencies)