bhaaluu at gmail.com
Mon Jul 16 16:28:15 CEST 2007
Greetings Alan, et al,
On 7/14/07, ALAN GAULD <alan.gauld at btinternet.com> wrote:
> > > What do you find challenging?
I find _ALL OF IT_ [computer programming] challenging.
Perhaps that is why computer programming is my hobby.
If it wasn't challenging, it wouldn't hold my interest for very long.
Part of my hobby is collecting used-books about computer programming.
I have shelves filled with books about BASIC, Pascal, C, C++,
Intel 8086 Assembly, Perl, and a smattering of others. I think I've
maybe read one of them from cover to cover. Otherwise, I use them
for the examples they contain. They are a library of code snippets in
various languages. I have several old computers with various OSes
on them, that have various old compilers and interpreters installed.
What does this have to do with Python?
First of all, Python is the latest 'flavor' of programming language that
I'm trying to learn. One of the best things about learning Python is this list:
Excerpts from: http://mail.python.org/mailman/listinfo/tutor
1. Tutor -- Discussion for learning programming with Python.
2. This [Tutor] list is for folks who want to ask questions
regarding how to learn computer programming with
the Python [programming] language.
3. ...[M]any feel [Python] is a good first language, because
it makes it easy to express the fundamental concepts of
programming such as data structures and algorithms with
a syntax which many find easy to read and write.
4. Folks interested in learning about programming with Python
are encouraged to join, as are folks interested in helping
others learn. While the list is called tutor, anyone, whether
novice or expert, can answer questions.
5. If individuals wish to start off-line conversations about a
particular concept and become one-on-one tutor/tutee, that's
fine. If either party wants to summarize what they learned
for others to benefit, that's fine too.
Re:#1. This is a mailing list devoted to "learning programming".
Specifically, the Python language is used to learn programming.
Re:#2. People who are interested in learning HOW TO program a
computer may ask questions on this list. They are encouraged
to ask their questions, using the Python programming language.
Re:#3. Pyhton is considered a good 'first language' to learn. It doesn't
have to be your first language, but if it is, it is probably a good
one to start with. Why? Because the concepts of computer
programming are considered by many people to be easy to grasp
and express in the Python language.
Re:#4. Anyone can answer other's questions, even if they are novices.
The list is 'inclusive'. Anyone, no matter what their level of
experience is, is invited to join and participate in the discussions.
Re:#5. The discussions can take place on-list, or off-list. If they take place
off-list, participants are encouraged to post a summary of what they've
learned, so others can benefit from the off-list discussion.
Whew! That is way cool! That probably means that
you probabl;y won't hear too much "RTFM" on this list, right? =)
However, one of the NICE things about Python is that there is an
abundance of documentation written at every imaginable level,
available online, for free (or for whatever it costs you to be online).
Sometimes, "RTFM" [Read The Fine Manual] is an appropriate
first answer to a question. However, just the reply, "RTFM", usually isn't
enough... most experienced programmers are aware that many
less experienced programmers probably aren't very familiar with
the exisiting documentation yet. In fact, it is quite possible that
a new user to the Tutor list is ALSO a new computer user, AND new to
the Internet, who is also interested in learning how to program
their new machine. (After all, the most fascinating thing about
computers is: they are programmable.) So, an "RTFM" reply
(if deemed appropriate as an answer to a question), is usually
accompanied by a link to where The Fine Manual is located,
ie. a viable URL [Web address].
A Noob, or Newbie can be Anyone! If a person continues learning
throughout their lifespan, then they will always be a Noob at something.
No one is born just knowing everything, automatically. However, some
have been gifted with more raw intelligence than others, and they
usually learn more quickly than someone who isn't as gifted. Those
people are encouraged to stay on the list and help others learn
Python, even as they are learning more advanced aspects of the
So, after all that is said and done.... the question seems to be:
How do we ask and answer questions on the Tutor list, so as not
to be flamed? (Asbestos underwear are mighty uncomfortable!)
1. It is usually considered good Network "ettiquette" to read a FAQ
[Frequently Asked Questions] about a mailing list before, or
shortly after joining the mailing list. The FAQ for Tutor is located
at: ____________ and is maintained by: _____________.
2. It is usually considered good mailing list "ettiquette" to either read
some of the archives of the mailing list, OR, to read the daily postings
of the mailing list for awhile, BEFORE posting to the list. The archives
for Tutor are located here: http://mail.python.org/pipermail/tutor/
and a searchable archive of the list is located here:
Why? Well, for one thing, you get a "feel" for the list, and also get
to know who some of the people on the list are.
3. On the Tutor list, a "good" question has at least the following information:
A. Platform you're working on:
a. Operating System?
b. Version of Python?
B. State the problem you're trying to solve.
C. Include some Python source code.
4. When answering a question on the Tutor list, a good answer should
contain the following information:
A. If deemed appropriate, OR, if "RTFM" is the knee-jerk reaction:
include a viable URL (a viable URL doesn't get a 404) to the
reference you are recommending.
a. If the page you are recommending is huge, give enough info
for the person to find the information in the web page.
B. Avoid the overuse of acronyms, unless you explain what the acronym
stands for, somewhere in the answer.
C. Verbose answers are ususally better than terse answers.
5. Encourage people to solve their own programming problem. This is part
of the "learning computer programming" nature of the list. =)
What else? I'm sure there is way more.
I'm still looking for a Python Programming Summer Camp in my area.
bhaaluu at gmail dot com
More information about the Tutor