greenbeen seeks advice

Peter Hansen peter at engcorp.com
Sat Jul 14 00:16:42 EDT 2001


wyatt stafford wrote:

> I am a computer/network support person who has decided to start programming
> for a vocation (no previous experience beyond minor scripting, etc).  After
> some research I selected Python as a good place to start.  
[...]
> Beyond those mentioned above, may I have any recommendations for self study
> resources (books, etc) or techniques that will help me be a good programmer,
> in general?

Read comp.lang.python religiously. :-)

Seriously, you can learn an awful lot by critically reading postings
in this kind of forum.  It is obvious there are some extremely clear
thinkers wandering around here willing and able to educate people on
all manner of things.  (Then there are people like me, just here 
because they have no real lives and a pathetic need for acceptance
even amongst a group of people as low as computer nerds.  Learn to 
identify the latter type, and ignore us. ;-)

> Do I need to know what is taught in CompSci 101/102/etc, to be great?

I'm not sure what is taught in those courses, but I became a 
reasonable programmer before I had formal training.  Training
can help, but it helps more if you have a foundation and consider
the training to be part of polishing your abilities.  There
are arguments that go the other way (not learning bad habits
before going to school) but I tend to disagree with them.
School does not typically teach the "right" habits for use
in industry anyway, and you said you wanted programming to
be your vocation.  Learn what industry wants...

The perhaps somewhat helpful part of my posting is this:

I've found that by far the most effective thing in learning any
language is to find a problem of interest to you and to apply 
the language to solving it.  Don't limit yourself (after the
first few minutes) to blindly typing what you find in a tutorial.

Think of something, no matter how trivial (or complex) it may
seem at first, to use the language for.  After a while, you'll
either solve the problem (warm fuzzy feeling of success), or
you'll at least realize you were overshooting the first time
and simplify your goals.  Your first program needn't be more
than a handful of lines.  If you preserve each effort as you
learn, you'll be able to look back on your code and appreciate
the progress you've made, and in many cases learn even more
while you improve your earlier attempts.

The nice thing (one of them, I mean) about Python is that you
always have the interactive prompt available to experiment.
Keep one open all the time, even when you're typing code in a
text editor, so you can quickly test snippets and one-liners
to see if they work the way you expect.  

By the way, count yourself lucky.  Some of us suffered for
years with other languages before we finally stumbled across
Python! :)

-- 
----------------------
Peter Hansen, P.Eng.
peter at engcorp.com



More information about the Python-list mailing list