One of the more seductive aspects of adopting Python as your programming language is the support of the Python community. People on Python mailing lists and the Python newsgroup are often ready to help a novice out with their questions. You may get a bit of razzing if your question is an extremely obvious one, but razzed or not, you are likely to get a useful answer. Another good reason for adopting Python is the abundance of information you can find online to get you started. I don't mean just language documentation and short tutorials. People have published entire books on Python online.
Mark Pilgrim recently announced one such book in progress, Dive Into Python. It is released under the GNU Free Documentation License. As suggested by the title, the book is not for absolute beginners but for experienced programmers who want a fast introduction to Python. The book is long on practical examples and the examples are well explained. The biggest disappointment I have with the book is it isn't done yet. The three current chapters explore some Python basics, introspection, and object orientation.
Despite claims that Python is a great language with which to learn to program, most Python books are written for programmers and not for the complete novice. There is, however, a free book on Python for the complete programming novice, How to Think Like a Computer Scientist by Allen B. Downey and Jeffrey Elkner. Downey and Elkner's book is a part of the Open Book Project, a project for developing high quality free textbooks. There are three versions of this book: one for Java, one for C++, and one for Python. Another online resource for beginners is Alan Gauld's Learning to Program web site. Gauld uses Python as his example language. Addison Wesley's higher education department recently printed a book based on Gauld's web site, Learn to Program Using Python. The book contains material not available on the site, but Gauld says production of the site hasn't stopped with the book. He will continue to expand and improve it.
The high quality of online tutorials for both beginning and experienced programmers is an extension of the supportive Python community. It's one more thing that sets Python apart from other scripting languages.
Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.
Read more Python News columns.
Discuss this article in the O'Reilly Network Python Forum.
Return to the Python DevCenter.
Copyright © 2009 O'Reilly Media, Inc.