Программирование на языке Elixir
Полное руководство по функциональному и параллельному программированию на языке Elixir. Охватывает переход от объектно-ориентированного мышления к функциональному, сопоставление шаблонов, неизменяемость, модель актора для параллелизма и создание надежных распределённых систем с использованием OTP.
Обзор курса
Краткое содержание
Полное руководство по функциональному и параллельному программированию на языке Elixir. Охватывает переход от объектно-ориентированного мышления к функциональному, сопоставление шаблонов, неизменяемость, модель актора для параллелизма и создание надежных распределённых систем с использованием OTP.
Освойте искусство создания устойчивых, параллельных систем через красоту функционального программирования.
Автор: Дэйв Томас
Благодарности: Жозе Валим, Кори Хейнс, Брюс Тейт, Джессика Керр, Энтони Эден, Чад Фоулер, Ким Шриер, Кэндис Каннингем, и Потомак Индексинг.
Цели обучения
- Сравнить модель трансформации данных в Elixir с традиционным программированием на основе состояний.
- Настроить интерактивную оболочку Elixir (IEx) и выполнять код Elixir через скрипты и компиляцию.
- Применять оператор сопоставления (
=), оператор фиксации (^) и символ замены (_) для деконструкции и проверки данных. - Объяснить теоретические и практические последствия неизменяемости для производительности и управления памятью.
- Определить и использовать встроенные типы данных Elixir, включая типы значений, системы и коллекций.
- Применять правила области видимости переменных и выражение
withдля управления сложными трансформациями данных. - Создавать и вызывать анонимные функции как стандартным, так и синтаксисом захвата (
&). - Реализовывать именованные функции в модулях с использованием сопоставления шаблонов и рекурсии для обработки сложной логики.
- Применять условия-ограничения (guard clauses) и параметры по умолчанию для управления потоком выполнения функций.
- Разбор и построение списков: Использовать сопоставление шаблонов "голова/хвост" для навигации и построения рекурсивных структур списков.