Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elixir Introduction
Search
Dimitar Kostov
April 05, 2016
Programming
0
36
Elixir Introduction
Dimitar Kostov
April 05, 2016
Tweet
Share
Other Decks in Programming
See All in Programming
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
290
おれのAgentic Coding 2026/03
tsukasagr
1
110
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
250
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Claude Codeログ基盤の構築
giginet
PRO
7
3.7k
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
モックわからないマン卒業記 ~振る舞いを起点に見直した、フロントエンドテストにおけるモックの使いどころ~
tasukuwatanabe
3
430
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
650
AI活用のコスパを最大化する方法
ochtum
0
340
PHPで TLSのプロトコルを実装してみる
higaki_program
0
520
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
210
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
410
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
680
4 Signs Your Business is Dying
shpigford
187
22k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
SEO for Brand Visibility & Recognition
aleyda
0
4.4k
Writing Fast Ruby
sferik
630
63k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.4k
Producing Creativity
orderedlist
PRO
348
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
160
KATA
mclloyd
PRO
35
15k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
elixir
What is elixir ? + =
Agenda 1. History 2. Features 3. Tools 4. Frameworks and
libraries 5. Resources
Erlang • created in 1986 by Ericsson • open sourced
in 1998 • based on Prolog • battle tested
Erlang VM features • massively concurrent • fault tolerant –
“Let it crash” philosophy • distributed • hot code swapping • soft real time • garbage collected
Who uses Erlang ? • Ericsson • Amazon • Facebook
• Goldman Sachs • Whatsapp
Elixir history • created in 2012 • created by Jose
Valim
Who uses elixir ? • BT • Pinterest • Puppet
Labs • Lexmark • ThoughtBot • BrightCove
Elixir in a nutshell • functional • concurrent • syntax
inspired by Ruby and Clojure • meta programming • macros • protocols
Elixir in a nutshell • UTF-8 binaries strings • first
class documentation • first class regular expressions • pattern matching
Basic types • integer / float • boolean • atom
• string • list • tuple
Higher-level Types • Map • Keyword List • HashDict •
HashSet • Range • IO List
Map
Range
Modules
Functions
Functions
Pipe operator
Pipe operator
Control Flow • pattern matching • conditionals • loops
Pattern matching
Pattern matching
Pattern matching
Guards
Classical branching • if/else and unless/else • cond • case
• loops through recursion
Higher-order functions • Enum module • each • map •
reduce • filter • etc
Comprehensions
Structs
Protocols
Concurrency • Actor model based (CSP) • Lightweight processes •
Links • Tasks • Agents • OTP
Concurrency
Concurrency
OTP
Fault tolerance
Frameworks and libs • ExUnit and ExDoc/Test • Phonenix •
Ecto • Cowboy • OTP / ETS • Mnesia
Tools • iex • exdoc • mix • hex •
dialyzer • exrm
Resources • http://elixir-lang.org • http://hex.pm • http://phoenixframework.org
Resources • Programming Elixir • Elixir in Action • Introducing
Elixir • The Little Elixir and OTP Guidebook • Etudes for Elixir • Metaprogramming Elixir • Programming Phoenix
Resources • Elixir Sips • LearnElixir.tv • Elixir School
Demo • Phoenix App • :observer.start • exdoc
Thanks
None