[sorry, this was meant to go to the list] On Wednesday 31 January 2007 00:40, Bulat Ziganshin wrote: > 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.
What I meant is that it is more similar to the way we use to think in our daily life. Noone thinks about day-to-day practical problems in a formal way -- in most cases this would be a completely inappropriate approach. Formal thinking comes naturally to only a gifted few of us, most find it exceptionally hard to learn. However, I didn't mean to say that formal reasoning is something that cannot be learned. I would even say that it is easier to learn if done right from the start as something completely new instead of appealing to intuition, thus trying to connect it to the more 'natural' ways of thinking -- because the latter have to be 'unlearned' to a certain extent before the new way of thinking can take hold. > all the problem of learning FP paradigm for college-finished > programmers is just that their brains are filled with imperative > paradigm and they can't imagine non-imperative programming. it was > hard for me, too :) > > we should change college programs to make FP programming available for > the masses Absolutely. Cheers Ben -- "Programming = Mathematics + Murphy's Law" (Dijkstra in EWD1008) _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe