language learning vs. process
belred1 at yahoo.com
Tue Dec 2 04:33:47 CET 2003
Ryan Walker wrote:
> I'm getting started with python and have almost zero programming experience.
> I'm finding that there are tons of tutorials on the internet -- such as the
> standard tutorial at python.org -- that tell you all about the language.
> That is, what are the methods, functions, modules, syntax, punctuation, etc.
> No problem there!
> Meanwhile, I'm finding that there is very little (that I can find) about how
> to do basic logistical things related to using python and implementing
> programs. For example: how to run a program. That's pretty basic, but I
> don't see anything in the tutorials about it. With IDLE, it's easy enough:
> just hit F5. But working on my server via Putty, trying to get a concrete,
> meaningful result, it's hit and miss. For example, I find that sometimes a
> program will run if I import it. I typed "import smtpmail" and it ran -- it
> asked me to input From, To, Subj, Message. Other times, I type in "import
> smtpmail" and it imports but doesn't run. My server is Unix. Typing
> "python smtpmail.py" doesn't do it. That seems to be what a few websites
> say to do to run a program. Doesn't work for me. It returns 'File
> "<stdin>", line 1' and a little carrot pointing up at the 'l' in smtpmail.
> I know it's on the path since I can import it. And the permissions are 755.
> Another example of a very basic problem I can't find a solution to in any
> tutorial: how to log in to an SMTP server (authentication). My web
> searches have turned up only a few snippets of listserv conversations
> between people who already know enough about the subject that I'm not able
> to divine anything from the code they pass back and forth. A search on
> Python.org doesn't turn up anything that would help newcomers.
> So basically, what I'm saying is, there is a wealth of information about how
> to concatenate strings and stuff like that, but I'm finding it very
> difficult to get started with basic processes and logistical things. For
> example, it took me longer than I care to admit to figure out how to append
> the sys.path (that's actually in the tutorial but it's somewhat
> My ideal beginner resource would be a complete, step-by-step explanation of
> how to implement a simple program -- starting with typing "python" at the
> command prompt and ending with some kind of concrete result. Then, with a
> complete understanding of the process of writing and implementing (emphasis
> on the latter) a program, my efforts to learn the content and syntax of the
> language itself will be a lot more meaningful. That is, I can learn things
> like what a string is and have some confidence that I'll actually be doing
> something (other than playing with a calculator) that can provide something
> of value to end users in far flung places.
> Might seem weird to start with learning process and implementation, since
> it's all dependent to a large extent on using the language properly, but I
> do think it's possible to learn implementation first (with a bare minimum of
> language learning) and then go back and learn more about the language. Just
> something to think about for the excellent people who teach ingrates like me
> how to program.
> If anyone has any pointers on where to get more how-to information more
> oriented towards process/logistics please let me know.
i think there is another option you aren't thinking about. you mentioned learning with standard tutorials about basic
things like concatenating strings. you also mentioned that you would like to learn by writing one large program, step
by step. i think there is a third option you should consider, and IMO it's the best. it's studying small fully working
recipes that concentrate on one issue at a time and gives you a good foundation to build upon. fortunately, there is a
book that does just this and it's called "Python Cookbook". i think if you try to go for the one big program, you will
miss out on a lot of important stuff. I think there are also free online tutorials that do much the same thing such as
"Dive into Python". anyways, just my opinion.
More information about the Python-list