On 26/01/12 11:32 AM, Liam Proven wrote:
On 26 January 2012 01:20, Toby Thain<toby at
telegraphics.com.au> wrote:
On 25/01/12 5:37 PM, Liam Proven wrote:
Are the concepts of "closure" and
"lambda calculus" really /so/
recondite that they cannot be understood except by reading entire
book-length exegeses and learning a whole new skill?
No, of course not, but you insist on saying they are.
I was not saying the concepts are hard. I was saying that I'd not
previously found any explanations of them that were comprehensible to
me.
I suggested 2 possible interpretations for this& have been offered a third:
[1] the concepts are really really hard
or
[2] the explanations are all rubbish
or
[3] I'm really stupid& ignorant.
I reject all three above.
It appears that maybe there is a #4:
I think there must be at least one more, yes.
They are moderately hard concepts but the key thing is
that they
require a fair amount of prior knowledge to build upon; so if the
reader *has* that knowledge, they can be conveyed by a relatively
simple, step-by-step explanation. But if they don't have it, then the
concepts are probably too complex to get across.
They're only really meaningful to someone with at least some moderate
level of programming knowledge. (E.g. named functions, local versus
global variables, and the passing of named parameters - not
necessarily a comprehensive list!)
Many would argue the opposite - that experience with imperative
programming is a liability in grasping other ways of looking at
computation. It may contribute to your difficulties. I suspect it has
added to mine, also. But we still need to access that intellectual
territory. It's expansive and very important. Because we have a
personal, subjective difficulty we can't reject it for others.
The problem with the explanations is that either they
assume lots of
expert programming knowledge, so aim too high, or that they assume
none but only mathematical knowledge and use an entirely different,
It is true that SICP has a mathematical flavour, and some find this
off-putting; but you get out what you put in, and a good part of the
math itself is valuable and germane to the topic.
Let's not talk about Knuth. :)
--T
(wipes sweat from brow)
separate vocabulary, impenetrable if the reader does
not know maths.