Python for non-programmers

earlneath at my-deja.com earlneath at my-deja.com
Mon Mar 6 11:38:23 CET 2000


Whatever you do, if you're anything like the
son in this article _dont_ get Learning Python. I
am alot further along the road than the son (I
read the python tutorials for non-programmers that
are linked to on the python site and I liked
those. I also run Linux). Still I am not a
programmer nor a computer scientist.

But Learning Python, although recommended in some
places for non-programmers, concentrates more on
comparing python with C than on anything else as
far as I can tell. I have real trouble soldiering
through, and I think alot of this is because the
text is thick on concepts jargon (both computer
science concepts and the concepts that are
inherent to Python) but the concepts are not
adequately explained to someone who has never
encountered them before. I had an easier time with
the first 2 chapters of "The C Programming
Language" than I did with the first 2 chapters of
"Learning Python." Reading "Learning Python" just
makes me keep asking myself "wouldn't I be better
off learning C first and then trying python" -
which is crazy because I want to learn Python as a
first language!!!

I really despair about how to get into programming
when a book supposed to be good for
non-programmers is so hard. I thought I was doing
the right thing by not buying one of those "Java
for complete assholes" type books and going for a
good publisher etc, but now I wonder....
In article
<NDBBKEGCHLLCCFMJKMIHEEKPDAAA.infonuovo at email.com>
,
  <infonuovo at email.com> wrote:
> I am teaching my 35-year-old son about
programming using Python.  He is a
> musician and has learned to do impressive things
with the DVD + CD-RW + SB
> Live! on the Windows system that I set up for
him.  He does his own web
> pages, surfs a lot, and can get around pretty
well.  He wanted to know how
> to do more and learn how people do multi-media,
game animation, and so on.
> I figured this was a good occasion to get
involved with Python for some
> projects I have and as a learning laboratory for
him, rather than getting
> into C Language, GUI object manipulation, etc.
>
> Yesterday, I sat next to him as he used Python
and started to go through the
> tutorial, me making notes on my desktop machine
and him trying to figure out
> things on my laptop next to it.
>
> I learned a lot.  One thing is that the tutorial
is full of things (I called
> it toolcraft in a different conversation here)
that are meaningless for
> someone in Doug's shoes but leave him thinking
that he is supposed to know
> what is being discussed.  This was discouraging
for him.  It was an
> eye-opener for me.  I have a list of all the
terms (from shell to
> object-oriented) that have no context for
non-programmers.  I just skip past
> that stuff when I run into it.  It is in the
noise for me.  He doesn't know
> that.  I told him to treat it all as
yack-yack-yack and just look for things
> that provided examples or gave him some things
to do.  That helped him get
> through to section 2.1 but things got tough
around section 2.1.1 where there
> was no way to get through what was being talked
about without more
> grounding.  ("Argument," for Pete's sake!)
>
> So, I talked him through a "hello world"
exercise, after organizing a
> Python/Projects folder enough so that he can see
what corresponds to Python
> libraries and modules.  This is without getting
too technical about it.  I
> want him to have enough about library
organization just so he can get by for
> now, with deepening after as he gets some
confidence with basic operations.
> He knows to make __init__.py files but not why.
 I wanted him to have a
> basic setup where he could begin self-guided
activity and see useful results
> that can also be grown to bigger projects and
organized work.
>
> He can see how to get in and out of the
interpreter.  I showed him the DOS
> editor and we built a "hello.py".  We ran it
from the python command line
> and by importing it in the "interactive mode."
>
> I set him up with 4DOS just because it is a
little easier to know where you
> are and explore inside a command shell.  (I
figure learning about console
> mode would be an easier way to have useful work
in python before dealing
> with the GUI and the fledgling IDEs available
for Python).
>
> But mostly we learned things that one could also
do using the MS-DOS
> command.com shell.  He doesn't know what either
of those are, but he knows
> how to start a shell and start working with
files and the python processor.
> If we practice more today and tomorrow, while he
is visiting me from
> Portland, I figure he will be able to sustain
himself when he is back home
> next week, especially with me as a telephone and
Instant-Messenger and
> NetMeeting consultant.
>
> He saw me use Python like a calculator, and he
saw me assign strings and
> calculation results to variables an reuse them.
 He was fading fast (I need
> to make the first steps smaller yet leave him in
accomplishment), but he was
> intrigued and I need to walk him through it
again.
>
> That was more than enough for a first time out.
 If there were any good toy
> applications that did useful things around, I
could have him doing engaging
> things at the console shell and python level
that he could learn to analyze
> and replicate later.  (I don't care if it is
simply playing Hangman, or
> tic-tac-toe or How Many Petals Around the Rose,
something that is a complete
> thing which can be used without having anything
to do with building
> software.)
>
> He was tired and I was overwhelmed by how much
we geeks operate on assumed
> understanding and an incredible amount of
unexplainable lore.  I saw that
> his Windows knowledge is spotty -- there are
things that he has missed so
> far, such as the right-click menus and ability
to make new documents and
> folders.  He didn't know about the wheel on the
wheel mouse to help with
> scrolling.  Just the same, he has picked up ways
to get around in Windows
> applications and can get by (that's part of
Windows usability).  He hasn't a
> very coherent model and doesn't have a confident
way to learn more.  Yet
> Doug is the kind of guy who *does* read manuals
and he does work through
> tutorials, but he has, after 8 months with his
own computer, mostly
> developed a personal craft based on things that
were discovered to work for
> him.  He watches me and others with more
experience and he picks up more
> craft all of the time.
>
> This has really brought me up short about what
it takes to introduce
> something like Python to a non-programmer (or
even a programmer with a whole
> different paradigm of computer use, operation,
and programming).  I have to
> shed all of my intuitions, developed over 40
years around these fascinating
> mechanisms, and learn to see through his eyes.
That is daunting!
>
> Doug has called the two of us the cybersmiths.
He was remarking on how, in
> the past the blacksmith's kids would learn
smithing from their dad by
> hanging out and watching and developing a trade,
absorbing the smithie's
> toolcraft.   He sees himself as an apprentice
cybersmith.  I like that.  Now
> I am looking at what would make his experience
more successful and
> effective.
>
> -- Dennis
>
> -----Original Message-----
> From: python-list-admin at python.org
> [mailto:python-list-admin at python.org]On Behalf
Of Donn Cave
> Sent: Tuesday, February 29, 2000 21:53
> To: python-list at python.org
> Subject: RE: any non programmers out there?
>
> Quoth "Cristian Echeverria"
<echeverria at interactiva.cl>:
> | I think a very good and basic introduction is
the Python tutorial:
> |
> | http://www.python.org/doc/current/tut/tut.html
>
> I started with that document and liked it a lot,
too, but it's
> probably a little hairy for someone who really
has no background
> in this area.  I mean this not as criticism of
the document,
> which is perfect for its normal audience, but in
case someone
> out there is thinking ``Man, I must be retarded,
that was Greek
> to me!''
>
> 	Donn Cave, donn at oz.net
> --
>
http://www.python.org/mailman/listinfo/python-list
>
>



Sent via Deja.com http://www.deja.com/
Before you buy.



More information about the Python-list mailing list