Showing posts with label functional programming. Show all posts
Showing posts with label functional programming. Show all posts

Wednesday, 4 May 2016

Gang of Four Patterns in a Functional Light: Part 2 | Voxxed

Gang of Four Patterns in a Functional Light: Part 2 | Voxxed: "In this second part, we will continue this process and revisit two other widely used GoF patterns: the Template and the Observer patterns, which can both be reimplemented through the Java 8 Consumer interface."



'via Blog this'

Wednesday, 20 April 2016

Immutables.org

Immutables.org: "Java annotation processors to generate simple, safe and consistent value objects. Do not repeat yourself, try Immutables, the most comprehensive tool in this field!"



'via Blog this'

Thursday, 26 February 2015

underscore.io: Creative Scala: A New Introduction to Scala

Creative Scala: A New Introduction to Scala

As we’ve taught more training courses, both free and paid, we’ve seen the need for material that is more basic than Essential Scala. In our free courses we often have students with very little programming experience. The programming patterns in Essential Scala are tough going for them, as they don’t have the background to appreciate the problems we’re solving. In our paid courses we find a lot of time is spent on syntax and other Scala basics that take away from more useful material. Creative Scala is designed to appeal to both groups by covering the very basics of functional programming and Scala is a fun way. We assume some familiarity with another programming language but little or no experience with Scala or other functional languages.

Tuesday, 30 December 2014

http://www.johndcook.com : Object oriented vs. functional programming

OO makes code understandable by encapsulating moving parts.
FP makes code understandable by minimizing moving parts.
This explains some of the tension between object oriented programming and functional programming. The former tries to control state behind object interfaces. The latter tries to minimize state by using pure functions as much as possible.
It’s understandable that programmers accustomed to object oriented programming would like to add functional programming on top of OO, but I believe you have to make more of an exclusive commitment to functional programming to get the most benefit. For example, pure functions are easier to debug and to execute in parallel due to their lack of side effects. But if your code is only semi-functional, you can’t have the same confidence in testing your code or in spreading it across processors.
James Hague argues that 100% functional purity is impractical and that one should aim for 85% purity. But the 15% impurity needs to be partitioned, not randomly scattered across your code base. A simple strategy for doing this is to use functional in the small and OO in the large.Clojure also has some very interesting ideas for isolating the stateful parts of a program.
http://www.johndcook.com/blog/2010/11/03/object-oriented-vs-functional-programming/