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

Por que functional programming é mais rápido?

Por que functional programming é mais rápido?

Vou te mostrar que functional programming não é algo novo: não foi criado nem nesse milênio e tu provavelmente já sabe muito mais do que acha. Tenho 15 minutos pra te mostrar o porquê do paradigma ter se tornado popular nas últimas décadas.

Apresentado no TDC Porto Alegre 2015 - Trilha Big Data.

Irio Musskopf

September 25, 2015
Tweet

More Decks by Irio Musskopf

Other Decks in Programming

Transcript

  1. Moses Schönfinkel 1889 - 1942 Haskell Curry 1900 - 1982

    Alonzo Church 1903 - 1995 Cálculo Cálculo λ λ
  2. > let grossAmount price = price * 1.03 > grossAmount

    100 103.0 > grossAmount 100 103.0 -- $ ghci
  3. > let investments = [1000, 500] > let investmentsCount =

    length(investments) > let amount = sum(investments) > let average = amount / investmentsCount > print average 750.0 -- $ ghci
  4. > let multiplyAndSum x y = (x + x +

    x + x) + (y + y + y + y) -- $ ghci
  5. > let multiplyAndSum x y = (x + x +

    x + x) + (y + y + y + y) > let multiplyAndSum x y = 4 * x + 4 * y -- $ ghci
  6. > let multiplyAndSum x y = (x + x +

    x + x) + (y + y + y + y) > let multiplyAndSum x y = 4 * x + 4 * y > let multiplyAndSum x y = 4 * (x + y) -- $ ghci
  7. scala> Stream.from(1). filter(_ < 100). map(_ + 1). take(2). toList

    // $ sbt console > take 2 $ map (+1) $ filter (<100) [1..] -- $ ghci tudoaomesmotempoagora tudoaomesmotempoagora