why elixir matters a genealogy of functional programming fileoutline 1. introduction 2. genealogy 3....
Post on 03-Sep-2019
9 Views
Preview:
TRANSCRIPT
Why Elixir MattersA Genealogy of Functional Programming
Osa Gaiusgithub.com/osagaius
@osagaius
Who am I?
Engineer at Mailchimp
Organizer - Atlanta Elixir Meetup
Outline
1. Introduction2. Genealogy3. History of Functional Programming4. Why Elixir Matters5. Moving Forward6. Conclusion
Introduction
Language Popularity (TIOBE Index)
Genealogyjee-nee-ol-uh-jee
History ofFunctional Programming
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
Erlang
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
1930 1940 1950 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
20201960
1930 1940 1950 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
1960
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Clojure
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
Rust
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
Rust
Elixir
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
Rust
Elixir
Elm
Why Elixir Matters
“The rise in popularity of the Internetand the need for non-interrupted
availability of services has extendedthe class of problems that Erlang can
solve.”Joe Armstrong
Erlang x Elixir
● Syntax● The Web● Evangelism
Erlang x Elixir
● Syntax● The Web● Evangelism
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
2020
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
JS
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
RubyJS
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
Ruby
RailsJS
Erlang x Elixir
● Syntax● The Web● Evangelism
“The rise in popularity of the Internetand the need for non-interrupted
availability of services has extendedthe class of problems that Erlang can
solve.”Joe Armstrong
Moving Forward
“Unpopular languages are niche languages”
Meyerovich and Rabkin
Moving Forward
● Breadth vs Depth● Evangelism
Breadth vs Depth
● Libraries (aka Gems)● Domains
Moving Forward
● Breadth vs Depth● Evangelism
Evangelism
● Marketing● Consultation● Fan Out
Conclusion
Gracias!
Questions?
github.com/osagaius@osagaius
top related