> > Who is your target audience? > From: "Alf P. Steinbach" <al...@start.no> > Someone intelligent who doesn't know anything or very much about > programming and wants to learn general programming.
I think of what a computer *does* as data processing, and then programing is simply telling the computer what data processing to do. In calculator mode, you just tell the computer one step at a time and immediately see the result before giving the next command. In program mode, you tell the computer the whole sequences of steps before the computer does even the first, which requires planning the whole sequence in your mind ahead of time. Lisp's REP allows you to use calculator mode when doing a dry run, then just wrap PROG around it and viola you have a program of all the steps together, thus bridging the gap between calculator and program mode painlessly. The two "hard" things about programming are syntax and planning. REP gets rid of the need to plan in your mind before writing the code, but you're still stuck with the syntax. My proposed no-syntax IDE *also* gets rid of the need to bother with any programming-language syntax. I've been proposing it for years, but nobody has shown any interest, so I'm spending my time on other things, but sometime in the next several months I am very likely to go ahead and implement no-syntax IDE as part of http://TinyURL.Com/NewEco. > I assume an intelligent reader, someone who doesn't balk at a few > technical terms here and there. There's a **major** difference between the ability to figure out complex puzzles and the ability to memorize jargon. Case in point: I placed top-five in Putnam math context despite disability whereby it was very difficult for me to memorize vocabulary/jargon. Then I flunked out of graduate school because suddenly I was expected to (but unable to) memorize ten definitions/lemmas to solve each homework problem. Ideally, with either somebody like me with memorization disability, or a very young child who just naturally by age has trouble learning more than one concept or term simultaneously, you should introduce only one concept or term at a time, and exerecise the person's mind with that concept or term for a while before moving to the next. > It's like the difference between driving a car and designing one. > You don't need an engineering degree to drive a car. :-) Sure some humans can be trained like pigeons to do the motions of driving a car through a fixed course without having the slightest concept of what's really happening. But to be able to respond appropriately to new situations, it really helps to understand that the brake pedal does *not* stop the car, it merely pulls a lever that presses a plate against a wheel causing excess friction causing the wheel to gradualy slow down, which is connected to the tires causing *them* to resist motion of car against road, which on non-slippery surfaces and with *gentle* braking results in the car slowing down, but with **sudden** pressure on brake, or on slick surfaces, the wheels stop turning completely and simply slide against the roadway, causing loss of control of both yaw and momentum, so suddenly your whole car is spinning about a vertical axis as well as no longer going around the road-curve but instead veering in a straight line across opposing traffic lanes or over the edge of the "S curve" of the Bay Bridge and then 200 feet down to a rather violent meeting with Yerba Buena Island. I hate that "CHECK ENGINE" light, because there's usually no way the driver of the vehicle actually *can* check the engine in any meaningful way to determine why the light is on. I think it really means "check" in the sense of a cloak-room, where you "check" your raincoat and umbrella by handing them to a clerk, thus you really do "check" your automobile by handing it over to a mechanic. <silly>By the way, I don't want Python running on my Macintosh, because it might eat my mouse.</silly> -- http://mail.python.org/mailman/listinfo/python-list