Signs of the Python Times
It's been an exciting five years in the Python world. Since I
wrote the first edition of this book between 1995 and 1996, Python
has grown from a new kid on the scripting languages block to an
established and widely used tool in companies around the world.
Although measuring the popularity of an open source (http://opensource.org) and freely distributed
tool such as Python is not always easy, most statistics available
reveal exponential growth in Python's popularity over the last
five years. Among the most recent signs of Python's explosive
growth:
- Books
-
As I write this in 2001, there are now over a dozen Python books on
the market, with almost that many more on the way (in 1995 there were
none). Some of these books are focused on a particular domain (e.g.,
Windows), and some are available in German, French, and Japanese
language editions.
- Users
-
In 1999, one leading industry observer suggested that there were as
many as 300,000 Python users worldwide, based on various statistics.
Other estimates are more optimistic still. In early 2000, for
instance, the Python web site was already on track to service 500,000
new Python interpreter downloads by year end (in addition to other
Python distribution mediums); this figure is likely closer to the
true user-base size as I write this book.
- Press
-
Python is now regularly featured in industry publications. In fact,
since 1995, Python creator Guido van Rossum has appeared on the cover
of prominent tech magazines such as Linux
Journal and Dr. Dobb's Journal;
the latter publication gave him a programming excellence award for
Python.
- Applications
-
Real companies have adopted Python for real products. It has shown up
animating the latest Star Wars movie (Industrial Light & Magic),
serving up maps and directories on the Internet (Yahoo), guiding
users through Linux operating system installation (Red Hat), testing
chips and boards (Intel), managing Internet discussion forums
(Egroups), scripting online games (Origin), talking to CORBA
frameworks (TCSI), implementing web site tools (Digital
Creations' Zope), scripting wireless products (Agilent), and
much more.
- Newsgroup
-
User traffic on the main Python Internet newsgroup,
comp.lang.python, has risen dramatically too.
For instance, according to eGroups (see http://www.egroups.com/group/python-list),
there were 76 articles posted on that list in January 1994, and 2678
in January 2000 -- a 35-fold increase. Recent months have been
busier still (e.g., 4226 articles during June, 2000
alone -- roughly 140 per day), and growth has been constant since
the list's inception. This, and all other user-base figures
cited in this preface, are likely to have increased by the time you
read this text. But even at current traffic rates, Python forums are
easily busy enough to consume the full-time attention of anyone with
full-time attention to burn.
- Conferences
-
There are now two annual Python conferences, one of which is hosted
by O'Reilly & Associates. Attendance at Python conferences
has roughly doubled in size every year. An annual Python Day is now
also held in Europe.
- Group therapy
-
Regional Python user groups have begun springing up in numerous sites
in the U.S. and abroad, including Oregon, San Francisco, Washington
D.C., Colorado, Italy, Korea, and England. Such groups work on
Python-related enhancements, organize Python events, and more.
- Domains
-
Python has grown to embrace both Microsoft Windows developers, with
new support for COM and Active Scripting, as well as Java developers,
with the new JPython (renamed "Jython") Java-based
implementation of the language. As we'll see in this edition,
the new COM support allows Python scripts to be both component server
and client; Active Scripting allows Python code to be embedded in
HTML web page code and run on either client or server; and JPython
compiles Python scripts to Java Virtual Machine code so that they can
be run in Java-aware systems and can seamlessly integrate Java class
libraries for use by Python code. As an open source tool for
simplifying web site construction, the Python-based Zope web
application framework discussed in this edition has also begun
capturing the attention of webmasters and CGI coders.
- Services
-
On the pragmatics front, commercial support, consulting, prepackaged
distributions, and professional training for Python are now readily
available from a variety of sources. For instance, the Python
interpreter can be obtained on CDs and packages sold by various
companies (including Walnut Creek, Dr. Dobb's
Journal, and ActiveState), and Python usually comes
prebuilt and free with most Linux operating system distributions.
- Jobs
-
It's now possible to make money as a Python programmer (without
having to resort to writing large, seminal books). As I write this
book, the Python job board at http://www.python.org/Jobs.html lists some 60
companies seeking Python programmers in the U.S. and abroad. Searches
for Python at popular employment sites yield even more hits -- for
instance, 285 Python-related jobs on Monster.com, and 369 on
dice.com. Not that anyone should switch jobs, of course, but
it's nice to know that you can now make a living by applying a
language that also happens to be a pleasure to use.
- Tools
-
Python has also played host to numerous tools development efforts.
Among the most prominent as I write these words: the Software
Carpentry project, which is developing new core software tools in
Python; ActiveState, which ison the verge of releasing a set of Windows and
Linux-focused Python development products; and PythonWare, which is
about to release an integrated Python development environment and GUI
builder.
- Compilers
-
As I write this preface, ActiveState has also announced a new Python
compiler for the Microsoft .NET framework and C# language
environment -- a true Python compiler and independent
implementation of the Python language that generates DLL and EXE
files, allows Python code to be developed under Visual Studio, and
provides seamless .NET integration for Python scripts. It promises to
be a third implementation of Python, along with the standard C-based
Python, and the JPython Java-based system.
- Education
-
Python has also begun attracting the attention of educators, many of
whom see Python as a "Pascal of the 2000s" -- an ideal
language for teaching programming, due to its simplicity and
structure. Part of this appeal was spawned by Guido van
Rossum's proposed Computer Programming for
Everybody (CP4E) project, aimed at making Python the
language of choice for first-time programmers worldwide. At this
writing the future of CP4E itself is uncertain, but a Python special
interest group (SIG) has been formed to address education-related
topics. Regardless of any particular initiative's outcome,
Python promises to make programming more accessible to the masses of
people who will surely soon grow tired of clicking preprogrammed
links, as they evolve from computer users to computer scripters.
In other words, it's not 1995 anymore. Much of the preceding
list was unimaginable when the first edition of this book was
conceived. Naturally, this list is doomed to be out of date even
before this book hits the shelves, but it is nonetheless
representative of the sorts of milestones that have occurred over the
last five years, and will continue to occur for years to come. As a
language optimized to address the productivity demands of
today's software world, Python's best is undoubtedly yet
to come.
If you are looking for a concise definition of this book's
topic, try this:
Python is a general-purpose open source computer
programming language, optimized for quality, productivity,
portability, and integration. It is used by hundreds of thousands of
developers around the world, in areas such as Internet scripting,
systems programming, user interfaces, product customization, and
more.
Among other things, Python sports object-oriented programming (OOP);
a remarkably simple, readable, and maintainable syntax; integration
with C components; and a vast collection of precoded interfaces and
utilities. Although general-purpose, Python is often called a
scripting language because it makes it easy to
utilize and direct other software components. Perhaps Python's
best asset is simply that it makes software development more rapid
and enjoyable. To truly understand how, read on.
|
|