Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Evolution of a Language

The Evolution of a Language

I gave roughly the same talk at ElixirConf Mexico in Mexico City the week before this one.

Andrea Leopardi

December 07, 2018
Tweet

More Decks by Andrea Leopardi

Other Decks in Programming

Transcript

  1. The
    LANGUAGE
    LANGUAGE
    EVOLUTION
    EVOLUTION
    of a
    The
    of a
    Photo by Yousef Espanioly on Unsplash

    View full-size slide

  2. @whatyouhide

    View full-size slide

  3. weedmaps.com/careers

    View full-size slide

  4. Erlang
    1988
    Ruby
    1993
    Programming Ruby
    2001
    Rails
    2004
    Elixir
    2011
    Clojure
    2007
    7 Languages in
    7 Weeks
    2010

    View full-size slide

  5. 2011
    Elixir
    Jun 2013
    Ecto ElixirConf
    Jul 2014
    Phoenix
    Jan 2014
    Elixir 1.0
    Sep 2014
    Programming Elixir
    Oct 2014

    View full-size slide

  6. LANGUAGE
    EVOLUTION

    View full-size slide

  7. team COMMUNITY ecosystem

    View full-size slide

  8. team

    coordination

    quality assurance

    maintenance

    View full-size slide

  9. Community

    experimentation

    ecosystem

    usage

    View full-size slide

  10. has Elixir been
    growing?

    View full-size slide

  11. CONTRIBUTORS
    new contributors
    0
    55
    110
    165
    220
    year
    2011 2012 2013 2014 2015 2016 2017 2018

    View full-size slide

  12. Elixir conferences

    View full-size slide

  13. ElixirConf
    2014

    View full-size slide

  14. ElixirConf
    2015
    ElixirConf EU
    ElixirConf MX

    View full-size slide

  15. 2016
    ElixirConf EU
    ElixirDaze
    EMPEX
    ElixirConf
    Elixir.LDN
    ElixirConf MX

    View full-size slide

  16. 2017
    LoneStar ElixirConf ElixirDaze
    Erlang & Elixir Factory
    ElixirConf
    EMPEX
    Elixir With Love
    Elixir.LDN
    ElixirConf EU
    ElixirConf MX

    View full-size slide

  17. 2018
    LoneStar ElixirConf ElixirDaze
    EMPEX LA
    ElixirConf
    EMPEX
    Elixir Brazil
    Code Elixir ElixirConf EU
    Ruby & Elixir Taiwan
    Gig City Elixir
    The Big Elixir
    ElixirConf MX

    View full-size slide

  18. Hex
    new Hex users
    0
    450
    900
    1350
    1800
    year
    2014 2015 2016 2017 2018
    (users)

    View full-size slide

  19. Hex
    new Hex users
    0
    600
    1200
    1800
    2400
    year
    2014 2015 2016 2017 2018
    (packages)

    View full-size slide

  20. Hex
    new Hex users
    0
    500000
    1000000
    1500000
    2000000
    year
    2014 2015 2016 2017 2018
    (downloads)

    View full-size slide

  21. things we got better at

    View full-size slide

  22. port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port port port port port port port port port port port
    port

    View full-size slide

  23. Ruby
    Erlang
    otp?

    View full-size slide

  24. Lisp
    Clojure
    Erlang
    Ruby

    View full-size slide

  25. more attention
    tow
    ards OTP

    View full-size slide

  26. [1, [2], 3]
    |> List.flatten()

    |> Enum.map(fn x -> x * 2 end)

    View full-size slide

  27. significant
    events

    View full-size slide

  28. the importance of
    ecto

    View full-size slide

  29. shows a new w
    a
    y to do things

    View full-size slide

  30. data + pure code

    View full-size slide

  31. v
    alidates metaprogramming in elixir

    View full-size slide

  32. shows power of metaprogramming
    (will slightl
    y regret later)

    View full-size slide

  33. hooks users on Elixir through web
    channels

    View full-size slide

  34. Elixir is not just for the web?!

    View full-size slide

  35. GROWTH
    factors
    (key)

    View full-size slide

  36. tooling/ux/developer happiness

    View full-size slide

  37. xref
    IEx breakpoints
    syntax highlighting in IEx
    formatter
    ExUnit diff

    View full-size slide

  38. community

    View full-size slide

  39. what will the
    team
    focus on?

    View full-size slide

  40. maintenance
    research
    +
    +
    developer happiness

    View full-size slide

  41. /
    community ecosystem

    View full-size slide

  42. elixir gets picked up
    by big companies
    (hopefully)

    View full-size slide

  43. Ecosystem will get
    larger and better

    View full-size slide

  44. less core contributors
    more ecosystem contributors

    View full-size slide

  45. commits
    commits
    0
    700
    1400
    2100
    2800
    year
    2011 2012 2013 2014 2015 2016 2017 2018

    View full-size slide

  46. CONTRIBUTORS
    new contributors
    0
    55
    110
    165
    220
    year
    2011 2012 2013 2014 2015 2016 2017 2018

    View full-size slide

  47. less elixir contributors
    more beam contributors

    View full-size slide

  48. elixir erlang

    View full-size slide

  49. commits to OTP by Elixir team
    0
    10
    20
    30
    40
    year
    2012 2013 2014 2015 2016 2017 2018
    Erlang CONTRIBUTORS

    View full-size slide

  50. Benchee.run/2
    benchee:run/2

    View full-size slide

  51. will Elixir
    SURVIVE?

    View full-size slide

  52. not much relying on the
    TEAM + language

    View full-size slide

  53. Contributors
    Core team
    José

    View full-size slide

  54. start discussions

    View full-size slide

  55. thanks
    @whatyouhide
    elixir-lang.org

    View full-size slide