On Sun, 12 Jun 2005 21:52:12 -0400, Peter Hansen <[EMAIL PROTECTED]> wrote:
>I'm curious how you learned to program. An HP RPN calculator, later TI-57. Later Apple ][. With Apple ][ after about one afternoon spent typing in a basic program from a magazine I gave up with basic and started with 6502 assembler ("call -151" was always how I started my computer sessions). >What path worked for you, and do you think it was >a wrong approach, or the right one? I was a fourteen with no instructor, when home computers in my city could be counted on the fingers of one hand. Having an instructor I suppose would have made me going incredibly faster. Knowing better the english language at that time would have made my life also a lot easier. I think that anyway it was the right approach in terms of "path", not the (minimal energy) approach in terms of method. Surely a lower energy one in the long run comparing to those that started with basic and never looked at lower levels. >In my case, I started with BASIC. Good old BASIC, with no memory >management to worry about, no pointers, no "concrete" details, just FOR >loops and variables and lots of PRINT statements. That's good as an appetizer. >A while (some months) later I stumbled across some assembly language and >-- typing it into the computer like a monkey, with no idea what I was >dealing with -- began learning about some of the more concrete aspects >of computers. That is IMO a very good starting point. Basically it was the same I used. >This worked very well in my case, and I strongly doubt I would have >stayed interested in an approach that started with talk of memory >addressing, bits and bytes, registers and opcodes and such. I think that getting interested in *programming* is important... it's like building with LEGOs, but at a logical level. However that is just to get interest... and a few months with basic is IMO probably too much. But after you've a target (making computers do what you want) then you've to start placing solid bricks, and that is IMO assembler. Note that I think that any simple assembler is OK... even if you'll end up using a different processor when working in C it will be roughly ok. But I see a difference between those that never (really) saw assembler and those that did. >I won't say that I'm certain about any of this, but I have a very strong >suspicion that the *best* first step in learning programming is a >program very much like the following, which I'm pretty sure was mine: > >10 FOR A=1 TO 10: PRINT"Peter is great!": END Just as a motivation. After that *FORGETTING* that (for and the "next" you missed) is IMO perfectly ok. >More importantly by far, *I made the computer do something*. Yes, I agree. But starting from basic and never looking lower is quit a different idea. Andrea -- http://mail.python.org/mailman/listinfo/python-list