why elixir matters a genealogy of functional programming fileoutline 1. introduction 2. genealogy 3....
TRANSCRIPT
![Page 1: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/1.jpg)
Why Elixir MattersA Genealogy of Functional Programming
Osa Gaiusgithub.com/osagaius
@osagaius
![Page 2: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/2.jpg)
Who am I?
Engineer at Mailchimp
Organizer - Atlanta Elixir Meetup
![Page 3: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/3.jpg)
Outline
1. Introduction2. Genealogy3. History of Functional Programming4. Why Elixir Matters5. Moving Forward6. Conclusion
![Page 4: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/4.jpg)
Introduction
![Page 5: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/5.jpg)
![Page 6: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/6.jpg)
![Page 7: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/7.jpg)
![Page 8: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/8.jpg)
![Page 9: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/9.jpg)
![Page 10: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/10.jpg)
![Page 11: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/11.jpg)
Language Popularity (TIOBE Index)
![Page 12: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/12.jpg)
![Page 13: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/13.jpg)
Genealogyjee-nee-ol-uh-jee
![Page 14: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/14.jpg)
![Page 15: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/15.jpg)
![Page 16: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/16.jpg)
History ofFunctional Programming
![Page 17: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/17.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
![Page 18: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/18.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
![Page 19: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/19.jpg)
![Page 20: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/20.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
![Page 21: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/21.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
![Page 22: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/22.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
![Page 23: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/23.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
Erlang
![Page 24: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/24.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010 2020
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
![Page 25: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/25.jpg)
1930 1940 1950 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
20201960
![Page 26: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/26.jpg)
1930 1940 1950 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
1960
![Page 27: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/27.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
![Page 28: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/28.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Clojure
![Page 29: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/29.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
![Page 30: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/30.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
Rust
![Page 31: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/31.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Lambda Calculus
LISP
Scheme
ML
Erlang
Miranda
Haskell
2020
Scala
F#
Akka
Clojure
Rust
Elixir
![Page 32: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/32.jpg)
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
![Page 33: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/33.jpg)
Why Elixir Matters
![Page 34: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/34.jpg)
“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
![Page 35: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/35.jpg)
Erlang x Elixir
● Syntax● The Web● Evangelism
![Page 36: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/36.jpg)
Erlang x Elixir
● Syntax● The Web● Evangelism
![Page 37: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/37.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
2020
![Page 38: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/38.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
![Page 39: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/39.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
JS
![Page 40: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/40.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
RubyJS
![Page 41: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/41.jpg)
1930 1940 1950 1960 1970 1980 1990 2000 2010
Erlang
Java
2020
Ruby
RailsJS
![Page 42: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/42.jpg)
Erlang x Elixir
● Syntax● The Web● Evangelism
![Page 43: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/43.jpg)
“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
![Page 44: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/44.jpg)
Moving Forward
![Page 45: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/45.jpg)
“Unpopular languages are niche languages”
Meyerovich and Rabkin
![Page 46: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/46.jpg)
Moving Forward
● Breadth vs Depth● Evangelism
![Page 47: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/47.jpg)
Breadth vs Depth
● Libraries (aka Gems)● Domains
![Page 48: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/48.jpg)
Moving Forward
● Breadth vs Depth● Evangelism
![Page 49: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/49.jpg)
Evangelism
● Marketing● Consultation● Fan Out
![Page 50: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/50.jpg)
Conclusion
![Page 51: Why Elixir Matters A Genealogy of Functional Programming fileOutline 1. Introduction 2. Genealogy 3. History of Functional Programming 4. Why Elixir Matters 5. Moving Forward 6. Conclusion](https://reader030.vdocuments.net/reader030/viewer/2022040705/5e03d85adb119a34ca22df71/html5/thumbnails/51.jpg)
Gracias!
Questions?
github.com/osagaius@osagaius