the evolution of a language
TRANSCRIPT
The
LANGUAGELANGUAGEEVOLUTIONEVOLUTION
of a
The
of a
Photo by Yousef Espanioly on Unsplash
@whatyouhide
weedmaps.com/careers
TIMELINE
Erlang1988
Ruby1993
Programming Ruby2001
Rails2004
Elixir2011
Clojure2007
7 Languages in 7 Weeks
2010
2011Elixir
Jun 2013Ecto ElixirConf
Jul 2014
PhoenixJan 2014
Elixir 1.0Sep 2014
Programming ElixirOct 2014
LANGUAGE EVOLUTION
team COMMUNITY ecosystem
team• coordination • quality assurance • maintenance
Community• experimentation • ecosystem • usage
has Elixir been
growing?
CONTRIBUTORSne
w c
ontri
buto
rs
0
55
110
165
220
year
2011 2012 2013 2014 2015 2016 2017 2018
Elixir conferences
ElixirConf
2014
ElixirConf
2015
ElixirConf EU
ElixirConf MX
2016
ElixirConf EU
ElixirDaze
EMPEX
ElixirConf
Elixir.LDN
ElixirConf MX
2017
LoneStar ElixirConf ElixirDazeErlang & Elixir Factory
ElixirConfEMPEX
Elixir With LoveElixir.LDN
ElixirConf EU
ElixirConf MX
2018
LoneStar ElixirConf ElixirDazeEMPEX LA
ElixirConfEMPEX
Elixir Brazil
Code Elixir ElixirConf EU
Ruby & Elixir Taiwan
Gig City Elixir
The Big Elixir
ElixirConf MX
Hexne
w H
ex u
sers
0
450
900
1350
1800
year
2014 2015 2016 2017 2018
(users)
Hexne
w H
ex u
sers
0
600
1200
1800
2400
year
2014 2015 2016 2017 2018
(packages)
Hexne
w H
ex u
sers
0
500000
1000000
1500000
2000000
year
2014 2015 2016 2017 2018
(downloads)
things we got better at
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
Ruby
Erlang
otp?
Erlang
Ruby
Lisp
Clojure
ErlangRuby
embracing OTP
Designing better libraries
|>
[1, [2], 3] |> List.flatten()|> Enum.map(fn x -> x * 2 end)
|>🤷
significant
events
the importance of
ecto
shows a new way to do things
data + pure code
validates metaprogramming in elixir
shows power of metaprogramming
(will slightly regret later)
phoenix
hooks users on Elixir through web
channels
nerves
Elixir is not just for the web?!
GROWTH factors
(key)
docs
tooling / ux / developer happiness
xref IEx breakpoints
syntax highlighting in IEx formatter ExUnit diff
community
❤ 💚 💙 💛 💜
What's next
what will the
teamfocus on?
maintenance
research
+
+developer happiness
/community ecosystem
elixir gets picked up by big companies
(hopefully)
Ecosystem will get larger and better
less core contributors
more ecosystem contributors
commits
com
mits
0
700
1400
2100
2800
year
2011 2012 2013 2014 2015 2016 2017 2018
CONTRIBUTORSne
w c
ontri
buto
rs
0
55
110
165
220
year
2011 2012 2013 2014 2015 2016 2017 2018
less elixir contributors
more beam contributors
elixir erlang
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
Benchee.run/2
benchee:run/2
:telemetry.execute/3
telemetry:execute/3
is Elixir
successful?
will Elixir
SURVIVE?
not much relying on the
TEAM + language
Contributors
Core team
José
with
contribute
start discussions
thanks@whatyouhide
elixir-lang.org