List of relevant Concepts

These are all concepts that look useful. The basic criteria for electing a concept to usefulness is: it must have a representation in plain Java.

Each concept has or shall receive its own post, the latter containing the state-of-the-art of my comprehension on each subject.

  • Tuples
  • Monads
  • Futures
  • Actors
  • Lazy Calculations (functors?)
  • Java syntactical sugar
  • Kleisli stuff

The list may be updated.


Functional programming in Java: a solution looking for a problem?

Just a little set-aside. By looking around, it is clear that FP in Java had its heyday about three years ago. Lots of expectations and promises. Then it faded. I believe this happened because at the end real-world programmers did not find real added value in the subject: you can avoid nasty side-effects by starting with clear thinking and following up with clean code.

OK, native Java iterators are boring. Today we have the Commons Collections or the Google Collections. Personally I’ve implemented the Block of Bob Di Falco and stuck all the necessary interfaces inside; I carry one class in every project I start and don’t need anything more.

There are countless libraries that implement closures in Java. They may look sexy, but at the end anonymous inner classes do most of the job without creating dependencies. And, as far as I’ve tried, a.i.c. are faster!

I’ve lost count of the pages I visited that explain how good is to be able to bind two functions together. I get to the end, follow the ritual example ending with

Boolean compare(new And(compare(new Gt(),new Integer(10)),compare(new Equal(),new Integer(20))),new Integer(11))

or something like that and I say to myself: so what?

I am currently planning to have a good look at this and that, hoping to find there some real food for thoughts. Always optimistic, that’s me!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s