2018:concurrent_functional_programming
This is an old revision of the document!
Table of Contents
Concurrent Functional Programming
Learn more here about the offer in 2018 (in Portuguese): http://bit.ly/2P7XXYI
Workload (Carga horária): 45 hours (3 credits). 45 horas-aula (3 créditos).
Syllabus (Ementa): Functional Programming: Concepts and Languages. The Actor Model. Functional Programming Languages aimed at the development of concurrent systems: Erlang, Elixir.
Bibliography (Bibliografia):
- Armstrong, Joe. Programming Erlang: software for a concurrent world. Pragmatic Bookshelf, 2013.
- Thomas, Dave. Programming Elixir 1.6: Functional> Concurrent> Pragmatic> Fun. Pragmatic Programmers, 2018.
- Almeida, Ulisses. Learn Functional Programming with Elixir: New Foundations for a New World. Pragmatic Programmers, 2018.
- Marx, Ben; Valim, José; Tate, Bruce. Adopting Elixir: From Concept to Production. Pragmatic Programmers, 2018.
- Davi, Tiago. Elixir: Do zero à concorrência. Casa do Código, 2017.
- Tate, Bruce. Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages. Pragmatic Programmers, 2010. The book that inspired José Valim to create Elixir. It includes a chapter on Erlang.
- Tate, Bruce; Daoud, Fred; Moffitt, Jack; Dees, Ian. Seven More Languages in Seven Weeks: Languages That Are Shaping the Future. Pragmatic Programmers, 2014. It includes a chapetr on Elixir.
- Research papers on concurrent functional programming.
Auxiliar Bibliography (Bibliografia Auxiliar):
- Fairbank, Jeremy. Programming Elm. Pragmatic Programmers, 2018.
- Miller, Alex; Halloway, Stuart; Bedra, Aaron.Programming Clojure, Third Edition. Pragmatic Programmers, 2018.
Detailed Syllabus
Functional Programming: Concepts and Languages
- Values
- Types
The Actor Model
Functional Programming Languages aimed at the development of concurrent systems: Erlang, Elixir
Learning Resources
Ideas
Languages
- Elixir
- Clojure
- Elm
- Erlang
Papers and technical reports
- Communication Sequential Processes, C.A.R. Hoare https://www.cs.cmu.edu/~crary/819-f09/Hoare78.pdf
- A History of Erlang https://dl.acm.org/citation.cfm?id=1238850
- The development of Erlang https://dl.acm.org/citation.cfm?id=258967
- Erlang - A survey of the language and its industrial applications https://pdfs.semanticscholar.org/8fce/0a789d4f8228c46734d26fda387468fb29f9.pdf
- Introducing Concurrent Functional Programming in the Telecommunications Industry https://link.springer.com/content/pdf/10.1007/978-0-387-35404-0_15.pdf
Blog posts in Portuguese
- Por que desenvolvo com o Elixir e não com o PHP? https://medium.com/@helderhenri/por-que-desenvolvo-com-o-elixir-e-n%C3%A3o-com-o-php-d768f36c6411
Links
- Elixir Companies https://elixir-companies.com/
- Erlang Companies https://erlang-companies.org/
- Elixir Job Board http://plataformatec.com.br/elixir-radar/jobs
- Elixir Career https://elixir.career/
Blog Posts in English
- The Foundations of Functional Concurrency https://freecontent.manning.com/the-foundations-of-functional-concurrency/
- Beyond Functional Programming with Elixir and Erlang, José Valim. May 25, 2016 http://blog.plataformatec.com.br/2016/05/beyond-functional-programming-with-elixir-and-erlang/
Q&A Sites
- How/why do functional languages (specifically Erlang) scale well? https://stackoverflow.com/questions/474497/how-why-do-functional-languages-specifically-erlang-scale-well
Podcast episodes
- Hipsters #48 - Elixir, a linguagem Hipster https://hipsters.tech/elixir-a-linguagem-hipster-hipsters-48/
- Sudocast #14 - Programação Funcional 101 https://www.sudocast.com.br/14-programacao-funcional-101/
- Castálio Podcast - Episódio 103: Linguagem de Programação Elixir https://castalio.info/episodio-103-linguagem-de-programacao-elixir.html
2018/concurrent_functional_programming.1536421920.txt.gz · Last modified: 2020/11/19 11:42 (external edit)