Learning Python

I see Python as the interpreted language for those who expect to be able to go back and understand their program a year after they have written it.
  • Authors: Mark Lutz and David Ascher

  • Publisher: O'Reilly & Associates

  • E-mail: info@ora.com

  • URL: http://www.ora.com/

  • Price: $29.95 US

  • ISBN: 1-56592-464-9

  • Reviewer: Phil Hughes

To understand what this review means, you will need to know about two things: what Python is and my background. Python is an object-oriented, interpreted programming language suitable for scripting tasks as well as serious programming projects. I see Python as the interpreted language for those who expect to be able to go back and understand their program a year after they have written it.

Now, about me. You may know me as a magazine publisher, but I am truly just a geek who found a way to make less money. I have been writing in assembly language and FORTRAN since the '60s, and in more UNIX-like languages such as C and AWK since 1980. I have seriously used at least a dozen languages and am generally very comfortable around most anything except Cobol.

What I am not is an object-oriented programmer. I understand the concepts, but have never worked in an object-oriented language such as C++ or Modula.

Python is interpreted like Perl or awk, but it is object-oriented. I was ready to give it a try. The problem is that I am not a full-time programmer, because I have this publishing job to do, but many times I do end up writing code.

Armed with O'Reilly's Programming Python, I was off to become a Python expert. Well, to make a short story shorter, it didn't work. While it is a good book to use as a reference or to take with you to a desert isle along with your Python-equipped laptop, it wasn't the book for a part-time programmer with over 30 years of non-OOP experience to use.

Enter Learning Python. My executive summary is that this is the right book for me and probably for many others as well. While Learning Python doesn't tell you everything, it is a good 366 pages that will get you up and running. Written in a textbook style with examples and exercises, it introduces both object-oriented programming and the Python language.

Both authors have done Python training, and it shows. Examples appear where you need them, and the exercises actually test your understanding of important concepts. This is a book to read with a computer nearby. You will learn a great deal from the exercises.

The book is divided into three parts. The first part covers the core of the Python language, explaining types and operators, basic statements, functions, modules, classes and exceptions. Part two moves you out a little into Python's built-in tools, common tasks and finally how to build real programs. Part three covers Python resources on the Net, platform specifics and answers to the exercises.

I have been very thorough in going through this book (because I actually want to add Python to my language set), and have found the book to be extremely accurate. The examples all work and you won't be misled by the text—a problem far too common for first printings of technical books.

Who, besides me, should get this book? I would say anyone who is comfortable with computers and wants to learn a very cool object-oriented language. By “comfortable”, knowing one programming language or at least a scripting language is going to help a lot. While the book covers the basics, if expressions like “dynamic typing” or “syntax rules” scare you, then you may need to get a little more comfortable before attempting to learn a real programming language.

Phil Hughes is the publisher of Linux Journal. He can be reached via e-mail at phil@ssc.com.

______________________

Phil Hughes

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState