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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Dimitar Kostov
April 05, 2016
Programming
38
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elixir Introduction
Dimitar Kostov
April 05, 2016
Other Decks in Programming
See All in Programming
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
860
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
260
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.4k
Oxlintのカスタムルールの現況
syumai
6
1.2k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
250
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
280
どこまでゆるくて許されるのか
tk3fftk
0
260
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
act1-costs.pdf
sumedhbala
0
120
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
120
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
41
2.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Odyssey Design
rkendrick25
PRO
2
710
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
320
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
590
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
870
Facilitating Awesome Meetings
lara
57
7k
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