Ruminations of a programmer. How much of category theory knowledge should a working programmer have ?
I guess this depends on what kind of language the programmer uses in his daily life. Given the proliferation of functional languages today, specifically typed functional languages (Haskell, Scala etc.) that embeds the typed lambda calculus in some form or the other, the question looks relevant to me. And apparently to afewothers as well. In one of his courses on Category Theory, Graham Hutton mentioned the following points when talking about the usefulness of the theory : Building bridges—exploring relationships between various mathematical objects, e.g., Products and FunctionUnifying ideas - abstracting from unnecessary details to give general definitions and results, e.g., FunctorsHigh level language - focusing on how things behave rather than what their implementation details are e.g. specification vs implementationType safety - using types to ensure that things are combined only in sensible ways e.g. Programming Android with Scala. 20 Sep 2011 As I've mentioned in my previous blog post, I am working on several Android projects.
Once you've done some larger projects and you have already worked with alternative JVM languages like Groovy [0] or Scala [1], one quickly feels the need for reducing common code patterns found in every Android project. That was the main reason I chose to use Scala as main programming language for one of my free-time Android projects.