Orientação a Objetos é sem dúvidas o paradigma de programação mais utilizado, mas ultimamente temos visto
um crescimento significativo no uso de linguagens funcionais. O objetivo desta palestra é mostrar uma abordagem de design com problemas comuns que temos em orientação a objetos, dentro do mundo funcional. Para isso, vamos utilizar um sistema que simula algumas operações de bolsa de valores, para mostrar como as decisões tomadas em um design OO, podem ser mapeadas no mundo funcional através das linguagens Javascript e Clojure.
11. “When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”
-John Hughes in Research topics in functional programming, 1990
12. “When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”
-John Hughes in Research topics in functional programming, 1990
13. “When writing a modular program to solve a problem,
one first divides the problem into subproblems, then
solves the subproblems, and finally combines the
solutions. The ways in which one can divide up the
original problem depend directly on the ways in which
one can glue solutions together.”
“Why functional programming matters”
-John Hughes in Research topics in functional programming, 1990
14. ..argue in the remainder of this paper that functional
languages provide two new, very important kinds of
glue.
“Why functional programming matters”
-John Hughes in Research topics in functional programming, 1990
higher order function lazy evaluation
49. Functional Programming is more
a mindset than a particular set
of tools or languages.
“Functional Thinking”
-Neal Ford - IBM Developer Works series