[Tutor] where to start?

Danny Yoo dyoo@hkn.eecs.berkeley.edu
Fri, 26 Jan 2001 17:49:45 -0800 (PST)

On Fri, 26 Jan 2001, Bruce Sass wrote:

> > I'm interested in programming but I'm entirely new and would like to
> know the best way to start.

> Programming is a matter of reducing a problem to its core components,
> defining the relationships between them, then using that information
> to manipulate the pieces in a manner that solves the problem.

And it's also a way of playing around with processes.  For example, we can
try to simulate something interesting like: what happens during the
"telephone" game?  Can we write a program that will "simulate" the sort of
mistakes that could happen when rumors spread?  Programming is a playpen
that lets us test out how things "might" work.  It doesn't always have to
be useful.

> In general, once you get to serious problem solving...
> Don't write any code unless you have no other choice, procrastinate

I think it's perfectly ok to go on first instinct on a program, and
gradually get things to look nicer.  At least, when I'm learning
something, I want to try writing small procedures, and gradually get a
better understanding of a problem as I play with it.  I guess you
could call it "bottom-up" programming.

On the other hand, it's good to plan for the future by try writing
programs that that are easy to fix.

> saves on bloat, `re-inventing the wheel', and helps see the core

At least when learning a language, though, reinventing the wheel is
important.  It exercises our creative juices, and it's a good experience
to try figuring alternative ways of doing things.  Not that working with
what's already written isn't a good thing --- it's wonderful to be able to
reuse code!  But it's also nice to rework solutions to old problems, and
gain a better understanding of what's going inside too.

I'm sorry; I'm just looking at programming from a hobbyist's perspective.  
But why program Python if it's not going to be fun?