The future isn't functional

Created 14th August, 2007 05:51 (UTC), last edited 15th August, 2007 03:55 (UTC)

To paraphrase the two sides of an argument that is currently being slogged out over blog posts, in language designs and in the market place:

future = object_oriented XOR functional_programming

The thing is of course that the argument in this form is clearly rubbish. The future isn't functional and it isn't object oriented. Here is a better formalism:

future = object_oriented AND functional_programming

It's also other things characterised by terms like generic programming, meta programming, concurrent programming.

The thing is that the real future is multi-paradigm programming. This is the big thing that will happen, and has already started to happen. There are problems that are easiest to solve in a functional style, and other problems that are easiest in an object oriented style. There's a huge overlap too — lots of problems that are easy to solve in both of these paradigms.

So the winners will be those languages which allow us to most easily switch between whichever style of programming gets the job done most effectively.

The only people who can afford the luxury of setting up camp in one place or another and fighting with those in the other camp are those who don't tackle a wide variety of problems.

For those of us who want to get things done we'll continue to use whichever style solves the problem in front of us in the most effective way and leave the dogma to those with time to care about it.

We're too busy doing things to worry about the ideology of how we should be doing them.