I read somewhere about using object-oriented languages for programming-in-the-large, and functional languages for programming-in-the-small. That is, using OO techniques for overall architecture and organization, and FP techniques to push data around. I should try to find a link...