the evolution of a language

84
The LANGUAGE LANGUAGE EVOLUTION EVOLUTION of a The of a Photo by Yousef Espanioly on Unsplash

Upload: others

Post on 15-May-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Evolution of a Language

The

LANGUAGELANGUAGEEVOLUTIONEVOLUTION

of a

The

of a

Photo by Yousef Espanioly on Unsplash

Page 2: The Evolution of a Language

@whatyouhide

Page 3: The Evolution of a Language
Page 4: The Evolution of a Language
Page 5: The Evolution of a Language
Page 6: The Evolution of a Language
Page 7: The Evolution of a Language
Page 8: The Evolution of a Language

weedmaps.com/careers

Page 9: The Evolution of a Language

TIMELINE

Page 10: The Evolution of a Language

Erlang1988

Ruby1993

Programming Ruby2001

Rails2004

Elixir2011

Clojure2007

7 Languages in 7 Weeks

2010

Page 11: The Evolution of a Language

2011Elixir

Jun 2013Ecto ElixirConf

Jul 2014

PhoenixJan 2014

Elixir 1.0Sep 2014

Programming ElixirOct 2014

Page 12: The Evolution of a Language

LANGUAGE EVOLUTION

Page 13: The Evolution of a Language

team COMMUNITY ecosystem

Page 14: The Evolution of a Language

team• coordination • quality assurance • maintenance

Page 15: The Evolution of a Language

Community• experimentation • ecosystem • usage

Page 16: The Evolution of a Language

has Elixir been

growing?

Page 17: The Evolution of a Language

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

Elixir conferences

Page 19: The Evolution of a Language

ElixirConf

2014

Page 20: The Evolution of a Language

ElixirConf

2015

ElixirConf EU

ElixirConf MX

Page 21: The Evolution of a Language

2016

ElixirConf EU

ElixirDaze

EMPEX

ElixirConf

Elixir.LDN

ElixirConf MX

Page 22: The Evolution of a Language

2017

LoneStar ElixirConf ElixirDazeErlang & Elixir Factory

ElixirConfEMPEX

Elixir With LoveElixir.LDN

ElixirConf EU

ElixirConf MX

Page 23: The Evolution of a Language

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

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

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

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

things we got better at

Page 28: The Evolution of a Language

port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port port 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

Ruby

Erlang

otp?

Page 30: The Evolution of a Language

Erlang

Ruby

Page 31: The Evolution of a Language

Lisp

Clojure

ErlangRuby

Page 32: The Evolution of a Language

embracing OTP

Page 33: The Evolution of a Language

Designing better libraries

Page 34: The Evolution of a Language

|>

Page 35: The Evolution of a Language
Page 36: The Evolution of a Language
Page 37: The Evolution of a Language

[1, [2], 3] |> List.flatten()|> Enum.map(fn x -> x * 2 end)

Page 38: The Evolution of a Language

|>🤷

Page 39: The Evolution of a Language

significant

events

Page 40: The Evolution of a Language

the importance of

ecto

Page 41: The Evolution of a Language

shows a new way to do things

Page 42: The Evolution of a Language

data + pure code

Page 43: The Evolution of a Language

validates metaprogramming in elixir

Page 44: The Evolution of a Language

shows power of metaprogramming

(will slightly regret later)

Page 45: The Evolution of a Language

phoenix

Page 46: The Evolution of a Language

hooks users on Elixir through web

channels

Page 47: The Evolution of a Language

nerves

Page 48: The Evolution of a Language

Elixir is not just for the web?!

Page 49: The Evolution of a Language

GROWTH factors

(key)

Page 50: The Evolution of a Language

docs

Page 51: The Evolution of a Language
Page 52: The Evolution of a Language
Page 53: The Evolution of a Language
Page 54: The Evolution of a Language

tooling / ux / developer happiness

Page 55: The Evolution of a Language

xref IEx breakpoints

syntax highlighting in IEx formatter ExUnit diff

Page 56: The Evolution of a Language
Page 57: The Evolution of a Language

community

❤ 💚 💙 💛 💜

Page 58: The Evolution of a Language

What's next

Page 59: The Evolution of a Language

what will the

teamfocus on?

Page 60: The Evolution of a Language

maintenance

research

+

+developer happiness

Page 61: The Evolution of a Language
Page 62: The Evolution of a Language

/community ecosystem

Page 63: The Evolution of a Language

elixir gets picked up by big companies

(hopefully)

Page 64: The Evolution of a Language

Ecosystem will get larger and better

Page 65: The Evolution of a Language

less core contributors

more ecosystem contributors

Page 66: The Evolution of a Language

commits

com

mits

0

700

1400

2100

2800

year

2011 2012 2013 2014 2015 2016 2017 2018

Page 67: The Evolution of a Language

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

less elixir contributors

more beam contributors

Page 69: The Evolution of a Language

elixir erlang

Page 70: The Evolution of a Language
Page 71: The Evolution of a Language

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

Benchee.run/2

benchee:run/2

Page 73: The Evolution of a Language

:telemetry.execute/3

telemetry:execute/3

Page 74: The Evolution of a Language
Page 75: The Evolution of a Language

is Elixir

successful?

Page 76: The Evolution of a Language

will Elixir

SURVIVE?

Page 77: The Evolution of a Language
Page 78: The Evolution of a Language

not much relying on the

TEAM + language

Page 79: The Evolution of a Language

Contributors

Core team

José

Page 80: The Evolution of a Language

with

Page 81: The Evolution of a Language

contribute

Page 82: The Evolution of a Language

start discussions

Page 83: The Evolution of a Language
Page 84: The Evolution of a Language

thanks@whatyouhide

elixir-lang.org