What is different with Python ?

Andrea Griffini agriff at tin.it
Mon Jun 13 08:32:10 CEST 2005


On Sun, 12 Jun 2005 21:52:12 -0400, Peter Hansen <peter at engcorp.com>
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



More information about the Python-list mailing list