[Tutor] info, help, guidence,...

Brian Wisti brian.wisti at gmail.com
Wed Dec 5 20:18:27 CET 2007


Hi Jeff,

On Dec 5, 2007 7:30 AM, jeff witt <hopebassist at yahoo.com> wrote:
>
> Hello,
> i have some questions about programming in general and python,..

Welcome! You have a lot of great questions. Tell your brother to relax.

First off, Python is a great first language because it was written
with an eye towards being consistent and easy to learn. It is also a
very powerful language that will continue to be useful for you as your
needs and knowledge expand. I've been using Python since 2000 and it
is still an important part of my development toolkit.

Now for your questions ...

> here are a few questions that go through my head...
>  how does python get applied to a GUI?

Python itself is just a language, and uses libraries for GUI applications.

    * Tkinter [http://www.pythonware.com/library/tkinter/introduction/]
comes with the standard Python distribution, which makes it the
official GUI library.
    * WxPython [http://www.wxpython.org] is a very popular
cross-platform GUI library. It's an extra download, and maybe a little
advanced for somebody who is *just* starting out with programming. But
hey, don't let that stop you.
    * IronPython
[http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython] is
actually a different version of Python written specifically for the
.NET environment. Most of the language features are the same as
CPython (the standard Python you would get from python.org), and in
addition it has full access to the .NET framework including Windows
Forms. It's very powerful, and I've had a lot of fun with it.
    * Jython [http://jython.org] is a version of Python written in
Java. It's a little behind CPython on features, but has full access to
the Java API including Swing.

IronPython and Jython require a bit of setup to get started with, so
they might not be the best choices for your first day. Play with
Tkinter and maybe WxPython for the moment, the other two will be there
when you're interested.

> why dont universities teach it?

They do. MIT is a high profile example. They recently incorporated
Python into their courses.

> is there an online class i can take for it?

Probably, but save your money and go to Google with the phrase "Python
tutorial". You'll be overwhelmed with the amount of instructional
material. Python is fun to write about.

> training certificates?

Yes, but I am not aware of any organizations that care about Python
certification. I've always been asked to show what I know, but never
about certification.

> is it accepted in the world of programming professionally?  ( i am interested in a
> career too, as well as a new hobby),.

Oh my yes. Python is used by companies all over the world. Google and
NASA are especially impressive-sounding examples of organizations that
use Python. Check http://www.python.org/about/success/ for a very long
list of organizations using Python.

>   i use linux, and python seems to be everywhere for linux,.. and i read
> that it works on windows too but is it accepted in "those" circles?

Absolutely. The set of Python users crosses a huge number of operating
systems, including Windows.

> what is pythons strengths and weaknesses, IE. web/Internet, or program
> development, operating system things,...

Python is a very high level language with great library support, and
has been useful for me in every problem domain. A Python application
normally runs slower than an application built in C/C++, so it usually
isn't the first choice for time-critical applications where somebody
could *die*. There are many ways to speed up your Python applications,
though, and it can be used by a knowledgeable developer to create
those time-critical apps.

> what would you (or you guys) recomend for the first language?

Perl! No, that was just a joke. You are asking the Python tutor list
about the best starting language. I think you can guess what the
answer is going to be.

> or like my brother says, "just learn something and stop asking me questions"

Man, tell that guy to switch to decaf. I'd say "just learn something
and keep asking questions"

> if python was released in 1991 how long will it remain a current or a applicable language? or i guess i am asking, what is the normal life of a programming language before it is obsolete?

For a very long time indeed. C is over 30 years old and still being
used for creating new applications. COBOL is about 4 million years old
(give or take a few million) and people still make good money using
it. The Python team has done an excellent job of keeping pace with the
needs of the day, and I don't think Python is going away any time
soon.

>
> well, like i mentioned, any help or info would be greatly appreciated,   i
> have been to some of the beginner sites and tried the whole "hello world"
> thing, and i unfortunately realize i am years from actually contributing to
> any open source project,  (especially since i am still struggling with the
> file system in linux [only been using it for 8or9 months])

Build your knowledge. Search on the Web. Skim the Python docs, even if
you don't understand them at first. I discovered that constantly
exposing myself to Python code made me smarter, even when I didn't
know what the code was doing at the time.

A lot of the questions you will have at this stage can be answered by
two acronyms:

    RTFM: Read The ... umm ... *Fine* Manual
    TIAS: Try It And See!

You can usually answer your "what happens if I do X in Python?"
questions by opening up a Python shell and trying it out. It's helpful
and harmless, as long as you apply a little common sense (don't see
what happens if you delete your home directory, for example). Don't be
timid, be bold. Try It And See!

You can usually answer your "how do I do Y in Python?" questions by
reading the manual or asking a search engine. That happy truth is that
roughly 99% of all questions you will come up with in the next year
have already been asked. If you don't understand the answer you find,
even after applying TIAS, then you find yourself some nice folks (like
this mailing list). Tell them what you were trying to do, and *why*
you were trying to do it (that way people can tell you if there is a
better solution).

>
> God bless you  guys, and thank you for your site and willingness to share
> and help!
>
> jeff

I think you'll find that the folks on this mailing list are incredibly
helpful and patient. You made a great choice by picking Python to
learn and this group to help you.

Kind Regards,

Brian Wisti
http://coolnamehere.com/


More information about the Tutor mailing list