"Look at your IDE. Look at the menus and buttons and hierarchical whatchamacallits and text-filled panes."<p>I use emacs. Without menu and buttons etc. Guess it's not talking about me.<p>"hands up anyone who wouldn’t claim to be an expert in object-orientation!"<p><i>raises hand</i>. Yes, not talking about me.<p>"So, I’m asking you to give up programming – or at least everything you have learned about programming and believe is true. I want you to give functions a go."<p>That's a bit of a typo - functions are also part of imperative languages. Fortran has functions but is not a functional language.
First mistake of functional programmers approaching oo: thinking it's about the objects.<p>It's mostly about decomposition and message passing. If one fixates on mapping reality on objects they are in for a bag of hurt.<p>And what's message passing if not functions? But that doesn't make it functional programming. The method of decomposing problems and composing code to build solutions is the key.