"Look at your IDE. Look at the menus and buttons and hierarchical whatchamacallits and text-filled panes."
I use emacs. Without menu and buttons etc. Guess it's not talking about me.
"hands up anyone who wouldn’t claim to be an expert in object-orientation!"
raises hand. Yes, not talking about me.
"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."
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.
It's mostly about decomposition and message passing. If one fixates on mapping reality on objects they are in for a bag of hurt.
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.
6 comments
[ 5.3 ms ] story [ 21.0 ms ] threadI use emacs. Without menu and buttons etc. Guess it's not talking about me.
"hands up anyone who wouldn’t claim to be an expert in object-orientation!"
raises hand. Yes, not talking about me.
"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."
That's a bit of a typo - functions are also part of imperative languages. Fortran has functions but is not a functional language.
It's mostly about decomposition and message passing. If one fixates on mapping reality on objects they are in for a bag of hurt.
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.