From a programmer perspective, how easy (difficult) is it to mix OO and functional programming?

Earlier this year, I’ve been reading SICP and Programming pearls at the same time; Last month, I’ve been writing both OO Python code and functional Erlang code. Those experiences are probably the best feeling of programming I had since a while: I’m not writing code, I am coding abstractions.

But I’m still wondering about mixing both styles/paradigms in the same project or same code file. My intuition is that it may be nice to work with different styles for different parts of a program, but I would really be afraid to introduce such kind of mix in a project maintained by multiple programmers. Any experience to share on this subject?

Perhaps I should give Nemerle a try. Any other?

Advertisements