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

Erlang sem enrolação!

Erlang sem enrolação!

TDC São Paulo 2016

Palestra: Erlang sem enrolação!

O que faz o Whatsapp ter 2 milhões de conexões abertas em uma única máquina? Ou o Call of Duty ter 50k/s de requisições? Nesta talk mostrarei uma introdução avançada à linguagem Erlang falando, sem enrolação, sobre os primeiros passos para lidar com a linguagem ressaltando as suas principais características funcionais e também um pouco sobre a OTP.

Exemplo:
https://gist.github.com/fmamud/ae4b7ad572abcac2fc3e6d3ca670f6a6

3c1b9c8d515093124b8c081107d4830c?s=128

Felipe Mamud

July 06, 2016
Tweet

Transcript

  1. SEM ENROLAÇÃO

  2. /DEV/FELIPEMAMUD

  3. Erlang and OTP in Action (LOGAN, 2011; MERRIT, 2011; CARLSSON,

    2011) “Functional programming and the mindset that it teaches you are a natural match to the problems encountered in concurrent and distributed programming [...]”
  4. Ericsson language • telephony switches problem • 1986; 30 years

    ago • dynamic; strong typing; funcional; fault- tolerant; • lightweight processes • message passing concurrent paradigm Agner Krarup Erlang was a Danish mathematician, statistician and engineer.
  5. Erlang’s world set of Erlang libraries and design principles providing

    middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools. OTP virtual machine where all Erlang code is executed aka emulator .beam files BEAM Erlang Runtime System where the BEAM, kernel and standard libraries amongst others are included ERTS programming language dynamic & strong typing funcional & fault-tolerant lightweight processes message passing concurrent paradigm ERLANG
  6. Who uses?

  7. Which projects?

  8. Polemical stuffs • The Prolog syntax based dillemma; • There

    are not unique statement terminators; instead it there is Period (.), Semicolon (;), colon (,); • There is no if… then… else… statement; • String == List of Integers; • Records are a compile time feature.
  9. Let's crash code!

  10. Another flavors LFE - Lisp Flavored Erlang • functional, concurrent,

    general-purpose programming language • Lisp dialect http://lfe.io
  11. Another flavors • A dynamic programming language that compiles to

    bytecode for the Erlang VM; • syntax improvement (Ruby & Python based); • improvement on current tools; • metaprogramming; • method dispatch; • protocols; http://elixir-lang.org
  12. References • Erlang Official Website. http://www.erlang.org/ • Learn You Some

    Erlang for great good. (Read it online) http://learnyousomeerlang.com • Erlang and OTP in Action. (Maning - 2011) https://www.manning.com/books/erlang-and-otp-in-action
  13. JOIN US! FRIENDSTECHDAY.COM SHARE, LEARN E CONTRIBUTE!

  14. Felipe Mamud @ftmamud THANK YOU!