
On Wed, Jan 31, 2007 at 02:40:23 +0300, Bulat Ziganshin wrote:
Hello Benjamin,
Saturday, January 27, 2007, 12:00:11 AM, you wrote:
and support operational reasoning, i.e. creating and understanding programs by mentally modeling their execution on a machine. This form of reasoning appeals to 'common sense', it is familiar to almost all (even completely un-educated) people and is therefore easier acessible to them.
greatly simplifies denotional resp. equational reasoning(**), i.e. to understand a program as an abstract formula with certain logical properties; an abstract entity in its own right, independent of the possibility of execution on a machine. This way of thinking is less familiar to most people
i think you are completely wrong! FP way is to represent everything as function, imperative way is to represent everything as algorithm. there is no "natural thinking way", the only think that matters is *when* student learned the appropriate concept. let's look - in my college, the notion of algorithm was introduced at the 1st course *before* any other programming courses. we even studied Turing machine as an abstract algorithm executor
Nneither way may be "natural", but imperative thinking is extremely common in society, I'd say much more than "functional" thinking. Just think of cooking recipes, IKEA instructions, all the algorithms tought in math classes in grade school. I doubt that we'll ever see functional thinking tought alongside imperative thinking in lower grades in school. It could even be that the development of the human brain as we grow up reaches a state where it can handle imperative thinking before it can handle functional thinking (I bet there's a reason why astronauts have step-wise instructions rather than a set of "functions"). All I'm trying to say is that imperative thinking is so common outside of CS/math and we learn it so early on in life that we probably can consider it the "natural thinking way". /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus