User Tools

Site Tools


Sidebar

Dave Orme muses about agile and functional programming.

My current work emphasizes SOA applications using Scala, Kubernetes, and AWS with a React-based SPA front-end. I'm also interested in progressive web applications and developer tools.


Blog

Scala, Clojure, and FP

Agile

The Cloud

Data-First Development

Older work

Coconut Palm Software home


Donate Bitcoin:

1Ecnr9vtkC8b9FvmQjQaJ9ZsHB127UzVD6

Keywords:

Kubernetes, Docker, Streaming Data, Spark, Scala, Clojure, OSGi, Karaf, GCP, AWS, SQL

Disclaimer:

Everything I say here is my own opinion and not necessarily that of my employer.

fp:home

This is an old revision of the document!


Functional Programming

Why Functional Programming (FP)?

Put quite simply, a functional style of programming can be achieved in any programming language, from Java to Scala, or pretty much any language–yet it is not the usual style that is practiced.

I do not oppose object oriented programming (and think that OO can coexist nicely with FP), rather, I believe that a style of programming that embraces the advantages of both OO and FP can realize significant benefits. For example:

  • Easier tests with fewer fixtures and mocks, that refactor cleanly with the production code
  • More natural parallelism.
    • Using a functional architecture, often parallelism can be added automatically as a feature of the library, without requiring synchronization or locking.
    • With multiple cores being standard equipment on today's computers, having natural parallelism that you just switch on is a huge advantage.

In this space I'll index my writings on functional programming, and particularly on Monads.

fp/home.1413769374.txt.gz · Last modified: 2014/10/19 21:42 by djo