Upload
luiz-costa
View
389
Download
0
Embed Size (px)
Citation preview
Globalcode–Open4education
Impactos no design utilizando programação funcional
Luiz [email protected] / @gutomcosta
twitter.com/gutomcosta github.com/gutomcosta
www.sagadoprogamador.com.br medium.com/saga-do-programador
“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
“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
“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
..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
decompose an algorithm into functions that are simple, meaningful and useful.
“Tutorial on Good Lisp Programming Style” -Peter Norvig in 1992
decompose an algorithm into functions that are simple, meaningful and useful.
“Tutorial on Good Lisp Programming Style” -Peter Norvig in 1992
Functional in the small, OO in the large.“Tell Above, and Ask Below - Hybridizing OO and Functional design”
-Michael Feathers, blog post
Functional Core, imperative shell.“Destroy all software - episode 72”
-Gary Bernhardt, destroy on software screen cast series
Functional Programming is more a mindset than a particular set
of tools or languages.“Functional Thinking”
-Neal Ford - IBM Developer Works series
ReferênciasSICP - http://mitpress.mit.edu/sicp/full-text/book/book.html
Why functional programming matters - http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf
Clojure - http://clojure.org/
Functional Thinking - http://www.ibm.com/developerworks/java/library/j-ft1/index.html
Tell Above, and ask Below - http://michaelfeathers.typepad.com/michael_feathers_blog/2012/03/tell-above-and-ask-below-hybridizing-oo-and-functional-design.html
Functional Core, imperative shell - https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell
Tutorial on good lisp programming style - http://www.cs.umd.edu/~nau/cmsc421/norvig-lisp-style.pdf