
Thanks for the fast schematics..
I agree that prefix notation (+ 1 1) vs. infix notation (1 + 1) is something of a curve ball for most of us.
Yes interesting isn't it? What I am asking is why do we perceive it as a curve ball ...and then later some of us say wow this is really cool? I grew a little bit studying Forth whose simplicity and elegant philosophy I loved. I used an interactive forth called JForth on Amiga. It was a lot of fun. So at that time I grew used to: 1 1 + in a simplistic way I see this topic reduces: object action object action object object object object action That just about covers what the basic permutations people have open to them right? Python, Scheme, Forth Sort of trigram of approaches..
That's why I'd do some work to introduce it earlier, perhaps by booting DrScheme on a classroom projector. "Look folks," I'd say "we all get used to a = 1 + 1 from our text books, but you should realize that's cultural, and a serious alternative, actually used in some computer languages, would go like this (define a (+ 1 1)). Note that 'define', which plays the role of '=', is likewise a prefix -- very consistent."
Cool. What is still nagging at me how different it feels when we add some spoken meta-language. This harkens to the importance and role of narrative. It is not that one is good bad or netter than any other, but we need symbolic language 'keys' to unlock the magic so it becomes logic. Walk-through, talk-through - 'stories' seem to do this..
This comes under the heading of "ET Math" or "Math from Mars" in my book -- a sort of genre I work with. The point is to give insights into math by showing "what could be different, and still be of utility to an intelligent life form".[1]
This is very nice. I feel better already :-)
I do something similar with coordinate systems, showing an apparatus that uses 4-tuples of non-negatives to map ordinary volume (similar to XYZ in other words) -- a gizmo I call "the quadrays coordinate system" and have researched with colleagues.[2]
Another game is to show how triangles and tetrahedra make fine models of 2nd and 3rd powering respectively, so we could be saying "3 tetrahedroned = 27" instead of "3 cubed = 27".[3] Again, we're brushing up against a whole other paradigm, an "ET Math" if you will.
Nice. [ Did you ever read Kurt Vonnegut's "The Sirens of Titan"?]
In other words, I think this prefix vs. infix discussion presents a great opportunity to open a door, expand the mind.
Excellent. This makes me really want to get to the root what the differences between prefix infix postfix are -- in language in culture and perhaps most importantly in thinking ? Are they just 3 sides of a universal triangle? How far do they reach? Can we map them ?
In sum, even if going with Python as a first language, I'd open a door to Scheme via introducing prefix notation, and would lay some groundwork in Python (as per the above example) for latter tackling Scheme and similar languages.
I like this approach to introducing the comparative potentials of pre- post- in-fix, using Python [or any one, take your pick] to show how to simulate or step into the other. It makes the continuum present and accessible. It introduces the idea of sequence in an important way, not just for mathematics function but any process of thought and action. And of course, our own written symbols, spoken languages, and narratives can help to connect these variations. The parallel between counting in different number bases and programming different object-action bases seems very healthy whole-system way to get close to the core of why programming belongs at the center of new comprehensive literacy. I hope this makes sense.. - Jason