The Evolution of a Language
Transcript of The Evolution of a Language
![Page 1: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/1.jpg)
The
LANGUAGELANGUAGEEVOLUTIONEVOLUTION
of a
The
of a
Photo by Yousef Espanioly on Unsplash
![Page 2: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/2.jpg)
@whatyouhide
![Page 3: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/3.jpg)
![Page 4: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/4.jpg)
![Page 5: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/5.jpg)
![Page 6: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/6.jpg)
![Page 7: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/7.jpg)
![Page 8: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/8.jpg)
weedmaps.com/careers
![Page 9: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/9.jpg)
TIMELINE
![Page 10: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/10.jpg)
Erlang1988
Ruby1993
Programming Ruby2001
Rails2004
Elixir2011
Clojure2007
7 Languages in 7 Weeks
2010
![Page 11: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/11.jpg)
2011Elixir
Jun 2013Ecto ElixirConf
Jul 2014
PhoenixJan 2014
Elixir 1.0Sep 2014
Programming ElixirOct 2014
![Page 12: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/12.jpg)
LANGUAGE EVOLUTION
![Page 13: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/13.jpg)
team COMMUNITY ecosystem
![Page 14: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/14.jpg)
team• coordination • quality assurance • maintenance
![Page 15: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/15.jpg)
Community• experimentation • ecosystem • usage
![Page 16: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/16.jpg)
has Elixir been
growing?
![Page 17: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/17.jpg)
CONTRIBUTORSne
w c
ontri
buto
rs
0
55
110
165
220
year
2011 2012 2013 2014 2015 2016 2017 2018
![Page 18: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/18.jpg)
Elixir conferences
![Page 19: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/19.jpg)
ElixirConf
2014
![Page 20: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/20.jpg)
ElixirConf
2015
ElixirConf EU
ElixirConf MX
![Page 21: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/21.jpg)
2016
ElixirConf EU
ElixirDaze
EMPEX
ElixirConf
Elixir.LDN
ElixirConf MX
![Page 22: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/22.jpg)
2017
LoneStar ElixirConf ElixirDazeErlang & Elixir Factory
ElixirConfEMPEX
Elixir With LoveElixir.LDN
ElixirConf EU
ElixirConf MX
![Page 23: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/23.jpg)
2018
LoneStar ElixirConf ElixirDazeEMPEX LA
ElixirConfEMPEX
Elixir Brazil
Code Elixir ElixirConf EU
Ruby & Elixir Taiwan
Gig City Elixir
The Big Elixir
ElixirConf MX
![Page 24: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/24.jpg)
Hexne
w H
ex u
sers
0
450
900
1350
1800
year
2014 2015 2016 2017 2018
(users)
![Page 25: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/25.jpg)
Hexne
w H
ex u
sers
0
600
1200
1800
2400
year
2014 2015 2016 2017 2018
(packages)
![Page 26: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/26.jpg)
Hexne
w H
ex u
sers
0
500000
1000000
1500000
2000000
year
2014 2015 2016 2017 2018
(downloads)
![Page 27: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/27.jpg)
things we got better at
![Page 28: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/28.jpg)
port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port
port
![Page 29: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/29.jpg)
Ruby
Erlang
otp?
![Page 30: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/30.jpg)
Erlang
Ruby
![Page 31: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/31.jpg)
Lisp
Clojure
ErlangRuby
![Page 32: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/32.jpg)
embracing OTP
![Page 33: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/33.jpg)
Designing better libraries
![Page 34: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/34.jpg)
|>
![Page 35: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/35.jpg)
![Page 36: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/36.jpg)
![Page 37: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/37.jpg)
[1, [2], 3] |> List.flatten()|> Enum.map(fn x -> x * 2 end)
![Page 38: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/38.jpg)
|>🤷
![Page 39: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/39.jpg)
significant
events
![Page 40: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/40.jpg)
the importance of
ecto
![Page 41: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/41.jpg)
shows a new way to do things
![Page 42: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/42.jpg)
data + pure code
![Page 43: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/43.jpg)
validates metaprogramming in elixir
![Page 44: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/44.jpg)
shows power of metaprogramming
(will slightly regret later)
![Page 45: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/45.jpg)
phoenix
![Page 46: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/46.jpg)
hooks users on Elixir through web
channels
![Page 47: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/47.jpg)
nerves
![Page 48: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/48.jpg)
Elixir is not just for the web?!
![Page 49: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/49.jpg)
GROWTH factors
(key)
![Page 50: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/50.jpg)
docs
![Page 51: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/51.jpg)
![Page 52: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/52.jpg)
![Page 53: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/53.jpg)
![Page 54: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/54.jpg)
tooling / ux / developer happiness
![Page 55: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/55.jpg)
xref IEx breakpoints
syntax highlighting in IEx formatter ExUnit diff
![Page 56: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/56.jpg)
![Page 57: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/57.jpg)
community
❤ 💚 💙 💛 💜
![Page 58: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/58.jpg)
What's next
![Page 59: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/59.jpg)
what will the
teamfocus on?
![Page 60: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/60.jpg)
maintenance
research
+
+developer happiness
![Page 61: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/61.jpg)
![Page 62: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/62.jpg)
/community ecosystem
![Page 63: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/63.jpg)
elixir gets picked up by big companies
(hopefully)
![Page 64: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/64.jpg)
Ecosystem will get larger and better
![Page 65: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/65.jpg)
less core contributors
more ecosystem contributors
![Page 66: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/66.jpg)
commits
com
mits
0
700
1400
2100
2800
year
2011 2012 2013 2014 2015 2016 2017 2018
![Page 67: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/67.jpg)
CONTRIBUTORSne
w c
ontri
buto
rs
0
55
110
165
220
year
2011 2012 2013 2014 2015 2016 2017 2018
![Page 68: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/68.jpg)
less elixir contributors
more beam contributors
![Page 69: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/69.jpg)
elixir erlang
![Page 70: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/70.jpg)
![Page 71: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/71.jpg)
com
mits
to O
TP b
y El
ixir
team
0
10
20
30
40
year
2012 2013 2014 2015 2016 2017 2018
Erlang CONTRIBUTORS
![Page 72: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/72.jpg)
Benchee.run/2
benchee:run/2
![Page 73: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/73.jpg)
:telemetry.execute/3
telemetry:execute/3
![Page 74: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/74.jpg)
![Page 75: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/75.jpg)
is Elixir
successful?
![Page 76: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/76.jpg)
will Elixir
SURVIVE?
![Page 77: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/77.jpg)
![Page 78: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/78.jpg)
not much relying on the
TEAM + language
![Page 79: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/79.jpg)
Contributors
Core team
José
![Page 80: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/80.jpg)
with
![Page 81: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/81.jpg)
contribute
![Page 82: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/82.jpg)
start discussions
![Page 83: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/83.jpg)
![Page 84: The Evolution of a Language](https://reader033.fdocuments.net/reader033/viewer/2022051600/62801454567e01621736a07b/html5/thumbnails/84.jpg)
thanks@whatyouhide
elixir-lang.org