Programming Elixir
A comprehensive guide to functional and concurrent programming using Elixir. It covers the transition from object-oriented to functional thinking, pattern matching, immutability, the actor model for concurrency, and building robust distributed systems with OTP.
Course Overview
Content Summary
A comprehensive guide to functional and concurrent programming using Elixir. It covers the transition from object-oriented to functional thinking, pattern matching, immutability, the actor model for concurrency, and building robust distributed systems with OTP.
Master the art of building resilient, concurrent systems through the beauty of functional programming.
Author: Dave Thomas
Acknowledgments: José Valim, Corey Haines, Bruce Tate, Jessica Kerr, Anthony Eden, Chad Fowler, Kim Shrier, Candace Cunningham, and Potomac Indexing.
Learning Objectives
- Contrast the data transformation model of Elixir with conventional state-based programming.
- Configure the interactive Elixir shell (IEx) and execute Elixir code via scripts and compilation.
- Apply the match operator (
=), pin operator (^), and wildcard (_) to destructure and validate data. - Explain the theoretical and practical implications of immutability on performance and memory management.
- Identify and utilize Elixir's built-in types, including Value, System, and Collection types.
- Apply variable scoping rules and the
withexpression to manage complex data transformations. - Create and invoke anonymous functions using both standard and capture (
&) notation. - Implement named functions within modules using pattern matching and recursion to handle complex logic.
- Apply guard clauses and default parameters to control function execution flow.
- Deconstruct and Construct Lists: Use head/tail pattern matching to navigate and build recursive list structures.