Abstract for March 13th FRUUG talk on Python

(5/97) Update: material presented at this talk is now available online, at http://starship.python.net/~lutz/home/talk.html.


About the Talk

Mark Lutz is the author of "Programming Python", a recently released O'Reilly Nutshell book. In this talk, he'll give a high-level introduction to the Python programming language.

Python is an increasingly popular object-oriented scripting language. It's often compared to languages like Perl, Tcl, Modula, and Java, but Python has some important distinctions all its own.

We'll look at Python's history, roles, and features, and explore some of the reasons why many people are using Python as their scripting language of choice. Along the way, we'll also take a peek at as many Python program samples as time allows, to give a general feel for the language.

Prerequisites: Python is named after the British comedy series "Monty Python's Flying Circus", and this talk will be liberally peppered with vague, obscure, and often irreverent references to Monty Python skits. If you're unfamiliar with this group's work, viewing a few Monty Python videos in advance may help you understand some of the examples (it's not required, but it can't hurt :-).

The Great Python Giveaway: O'Reilly has donated a copy of "Programming Python" to be given away at the talk; second place winners will receive an autographed can of Spam (TM).


About the Topic

By way of introduction, here's a preview of ideas we'll cover in the talk. Python is an interpreted, object-oriented, very-high-level language, which is freely available over the net, and runs on all major platforms (UNIX, Macs, MS-Windows, etc.). It combines a readable syntax and remarkably coherent design, with powerful programming tools. Among other things, Python sports:

Because of this combination of features, Python programs can range from simple shell scripts, to full-blown object oriented frameworks. For instance, Python supports advanced OOP constructs such as operator overloading, method reference objects, and multiple inheritance, but does not impose them--OOP is an option.

Moreover, Python's integration APIs make it ideal as a scripting language tool. By extending Python with libraries written in C or C++, it becomes a powerful object oriented front-end to optimized systems. And by embedding Python in C or C++ programs, we get a full-featured tool for end-user customization. Python is intentionally designed to support hybrid, multi-language systems.

But scripting isn't the whole Python story. Many people use it as a stand alone language, to leverage its library of built-in tools. For instance, Python comes with support for most common tools and domains out-of-the-box:

From a broader perspective, there seem to be some common reasons for Python's growing popularity. Some Python converts find that Python's syntax and design encourage more readable and maintainable programs. Others find that Python's advanced features are better suited to non-trivial programming (Python isn't just a string processor). And still others find that Python's first-class object model and dynamic typing make it a simpler alternative to C++ or Java.

Whatever the reason, Python is becoming an increasingly widespread tool in the development world. In this talk, we'll also summarize Python's common domains, look at a few companies that are using Python out there in the "real world", and give sources of additional information around the 'net.


About the Speaker

Mark Lutz is a software engineer with 11 years experience, and holds Bachelors and Masters degrees in computer science from the University of Wisconsin. He has worked in and around Boulder for the past 5 years, and currently lives in Longmont. His professional background includes compilers work (FORTRAN, C, Prolog), development environments, scripting languages, and MIS applications.

Mark has been involved with Python since 1992, which arguably qualifies him as one of the Python "Old Timers". He was one of the earliest Python adopters and evangelists, and helped add a number of new features to the language along the way. Among other cool things, he wrote an expert system shell in Python, and implemented an interface for embedding Python in a large C++ framework.

More recently, Mark wrote the O'Reilly Python book, "Programming Python", published in October 1996. This book is roughly a 'tour' of Python, with material on the language itself, object-oriented programming, and prominent Python tools and extensions (GUI APIs, persistence, C integration, etc.). "Programming Python" is generally considered to be the most comprehensive source of Python information available (well, besides the source code :-).

For more background information on Python, "Programming Python", and the speaker, see URL "http://starship.python.net/~lutz/home".


Back to my homepage



[Home page] Books Code Blog Python Author Train Find ©M.Lutz