The Cndnsd Vrsn: 4pm Thursday March 13 ACS Rm 123 -
Remember: On-time meeting start! The meeting will start on-time at 4:00, however, since we usually have the room scheduled at 3:30, those who enjoy the 15 minutes of pre-meeting networking should arrive at 3:45.
At the March 13th meeting of the Front Range UNIX Users Group
Mark Lutz, the author of Programming Python, a recently-released O'Reilly
Nutshell book, will 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.
Python is an interpreted, object-oriented, very-high-level language, which is freely available over the net, and runs on all major platforms (UNIX, Macintosh, MS-Windows, etc.). It combines a readable syntax and remarkably coherent design, with powerful programming tools. Among other things, Python sports:
- Dynamic typing (no type declarations)
- Easy to use built-in object types (lists, dictionaries, tuples)
- Support for
programming in the large (classes, modules, exceptions)
- Seamless integration with C/C++ programs (extending, embedding)
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:
- Internet tools (CGI scripts, HTML parsers, applets, FTP, etc.)
- GUI APIs (an OO interface to Tk, X11, MFC, etc.)
- Databases (mSQL, PostGres, Oracle, Sybase)
- System tools (sockets, regular expressions, threads, etc.)
- And lots more (numeric programming, object persistence, Graphics,...)
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. 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. 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. 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
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).
Mark Lutz is a software engineer with 11 years experience, and holds B.S. and M.S. 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 compiler 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 :-).
The next meeting of the Front Range UNIX Users Group will be in room 123 of the
CU Academic Computing Center building at Arapahoe and Marine Streets in Boulder.
Marine St intersects Arapahoe at 38th St; the Computing Center is on the southwest corner.
At the February 13th meeting of the Front Range UNIX Users Group Geoff Thompson gave a talk on event-driven programming in Java.
See the previous meetings page on the Fruug web site for more detail.
We actually are working on some future meetings, but nothing is sufficiently committed yet to give dates, times, or subjects. Stay tuned...
Contact the FRUUG Executive Committee at
fruug at fruug.org
if you have other interesting topic ideas or are interested in presenting a
This month's addition to the FRUUG library is O'Reilly & Associate's
Programming with GNU Software: Tools from Cygnus Support. This
is a one-stop programming kit, with everything a C programmer needs to get up to speed on UNIX-- includes Book and CD-ROM.
You may check books out using your business card as your library card; you
must be on the membership list to check books out. Books are due at the meeting
following the one in which they are checked out. If you don't
return your library books by the next meeting, you might find
yourself on our overdue book list.
We count on you returning books on time so that other members
may have the chance to use them as well.
Last Updated: 21 February1997.
webmaster at fruug.org