Here are some benefits (from the top of my head) I've got from pushing a more functional style to my java coding:
1 - Referencial transparency (in most areas of the code) 2 - Simpler code (smaller classes, better separation of state and behaviour even if encapsulated inside an object) 3 - Simpler tests 4 - Better code reuse 5 - More predictability and easier to reason about the code execution 6 - Easier to scale, improve performance On 14 July 2010 16:16, Casper Bang <[email protected]> wrote: > I mean, we have tricks such as tail-recursion to optimize FP but at > the end of the day, FP ends up executing on a turing-machine. So isn't > FP more about expressiveness and correctness than performance? Perhaps > multi-cores will change this but don't think it has happened yet. > We'll always need number-crunching, but the most interesting stuff at > the systems level comes from side-effects (I/O, screen etc.). > > > On Jul 14, 4:03 pm, Kevin Wright <[email protected]> wrote: > > Well, one could argue that copy-on-write filesystems are all about > > persistent immutable structures. > > A cornerstone of most FP patterns nowadays. > > > > (no, not "persistent" as in Hibernate, but this kind of persistent: > http://en.wikipedia.org/wiki/Persistent_data_structure) > > > > On 14 July 2010 15:00, Casper Bang <[email protected]> wrote: > > > > > > > > > > > > > > Functional level programming is very useful at the system level > > > > implementations. > > > > > Hmm... because many kernels and device drivers make use of FP? > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "The Java Posse" group. > > > To post to this group, send email to [email protected]. > > > To unsubscribe from this group, send email to > > > [email protected]<javaposse%[email protected]> > <javaposse%2bunsubscr...@googlegroups .com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/javaposse?hl=en. > > > > -- > > Kevin Wright > > > > mail/google talk: [email protected] > > wave: [email protected] > > skype: kev.lee.wright > > twitter: @thecoda > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
