The Eighth Annual Python Conference: Day Two
Even the hotel staff is impressed with the Python crowd. The Washington, D.C.
area is still buried in snow. The able road crew of four guys with two
brooms had cleared few of the roads by this morning. One corporate meeting
scheduled for the hotel had cancelled; attendees of another conference were
straggling in late in the morning. But the Python conference was booked full,
and everyone was here early, even those arriving by car or taxi. "They're so
enthusiastic," said one hotel employee.
Python and Education
"There is a time when ideas just become ripe..." --Frank Stajano
Frank Stajano, of AT&T and the University of Cambridge Computer Laboratory,
was talking about the use of Python as a teaching language. This theme ran
through a number of presentations at the conference.
Frank's point was that there are a number of efforts underway to use the
power and accessibility of Open Source Software to extend computer education
to younger students, students who have been ignored up to now.
Frank doesn't subscribe to the "programming-to-work" model of computer
education. This isn't another jobs program, with classes in keyboarding and
Excel. His goal is to emphasize the expressive nature of programming and to
teach students another way, like mathematics and philosophy, to think about
and organize the world.
Python is ideally suited for this task, Frank believes, because it is clean
and simple; the syntax doesn't get in the way of the programming logic. Also,
much to its credit, Python is also a practical language that students can use
to accomplish real tasks.
Python creator Guido van Rossum discussed progress on his education program
entitled "Computer Programming for Everyone" (CP4E). He is working on several
improvements, including a better development environment, to make Python more
accessible to novice users. He is working with at least one high school to
begin teaching Python to high school and middle school students.
Willison's October '99 interview with Guido Van Rossum, in which
Guido discusses CP4E.
At the end of his talk, Guido called a Birds-of-a-Feather meeting for 6:00
this evening. About forty of the attendees came to the BoF. We discussed a
wide range of issues, but decided to discuss them further through a mailing
list and newsgroup. Most people at the BoF seemed to be interested in the
technical nature of the material to be taught, or the teaching methods; but
the thorny issues seem to be funding, teacher training, and the murky politics
of school boards. Most importantly, the attendees supported adding an
education track to the next Python conference. Al Vezza, director of the
conference, was there and took the suggestion under advisement. (If you're
interested in this project, watch for information about it on
The most promising presentation following this theme came from Jeffrey
Ellker, a computer science teacher from Yorktown High School in Arlington, VA.
Until this year, Jeffrey had been teaching C++ to both first- and second-year
computing students at the high school because the AP tests currently require
C++. He found C++ difficult to teach to first-year students, however, because
so much of the syntax and machine-specific code was visible from the start.
He felt that he had to begin the first year with instruction in binary
arithmetic, not his choice for a gentle beginning.
This year, he switched the first-year class to Python. It has been, to him,
a great improvement. He is able to talk about the logic of programming, and
the clean syntax of Python supports his lessons. Binary arithmetic has been
moved to the Spring, as part of an introduction to C++. Of course, he won't
know the outcome of this curricular change until the Spring of 2001, when
this year's first-year class will take the AP tests; but he feels more in
command of his teaching, and his first-year students are more engaged.
Randy Pausch was the afternoon keynote speaker. A professor at Carnegie-Mellon
University, Pausch discussed and demonstrated Alice, his interactive Virtual
Reality system. (Alice uses lots of Python; hence, Randy's presence at this
conference.) Pausch is an engineer, but his interests are in user design and
testing. He had lots of advice to the programmers in attendance, much of it
applicable to the aims of the various Python education projects. He aims
Alice for the novice, the non-programmer, and he uses extensive interviews
and testing with them to make his decisions. He doesn't rely on his instincts
or those of other engineers. "You're not like the users," he said, "so don't
make decisions for them."
The Alice demonstrations were very impressive; Alice gives considerable power
to the creator of virtual worlds while hiding all the complexity. The worlds
his CMU students have created are funny, imaginative, and detailed. For more
information about Alice, see
Pausch's overall design principle is one that will help the CP4E project and
should inform more software development: Make all tradeoffs in favor of the
Let me end this section with another remark from the eminently quotable Frank
Create a program; write the documentation.
Change the world; then educate people.
As I mentioned yesterday, venture capital is a major topic in this year's
conference. The morning keynote speaker was Hadar Pedhazur, the initial major
the creators of Zope. A year ago, Pedhazur advised Digital Creations to make
their software Open Source, much against the initial impulses of the Digital
His logic, in retrospect, was clear. Digital Creations intended to make most
of its money as a services and customization company; Zope was their tool
for doing that work profitably. They were willing to let customers have the
software for free, but they saw no reason to make it available to potential
competitors. Pedhazur's one question startled them: "Is this the only good
idea you'll ever have?" "No," they replied. "Then give it away and move on to
the next one," he said.
He felt that Digital Creations, with a number of larger and better-known
competitors, needed some way to get people to consider their services. By
making their software freely available, they differentiated themselves from
their competitors and they drew in customers by giving them a taste of the
A year of Open Source business for Zope has proven Pedhazur right. And other
folks at the conference are following Digital Creation's model. All of a
sudden, working in an Open Source environment with Python is a virtue, a
selling point to newly converted venture capitalists. Andy Robinson, noted
O'Reilly author, announced the formation of his company,
Report Lab. Andy's
company specializes in the formatting and conversion of any data format into
PDF. (Their open-source tool is called PDFgen.) Andy's company is looking for
clients that pull together data on the fly; Report Lab will gather that data
and display it cleanly, informatively, and automatically in PDF.
Greg Wilson, a consultant with Los Alamos National Laboratories, is at the
conference hawking his newly-funded competition in
Carpentry. Greg, funded by the Advanced Computing Laboratory of Los
Alamos National Labs, is offering $100,000 in prizes for new programming
tools to replace the hoary, last-generation tools now used on most Open
Source projects. You may have
read his paper on
this topic on the O'Reilly web site. He has required that the tools
"be implemented primarily in, or scriptable with, Python," so he's hoping
that a fair number of his potential contestants are here.
Greg's choice of Python was somewhat arbitrary--you could use any number of
programming and scripting languages to create the tools--but the superior
readability of Python code made the choice. It has already been a point of
controversy across the Internet that he specified any scripting language,
and Greg has been savaged for this choice by advocates of other programming
and scripting languages. So far, he's stuck by his choice.
What Greg has done is lay down the gauntlet for Python programmers. This is
their opportunity to demonstrate the ability of their language to prototype
tools rapidly, and to show the advantages of clean syntax and high-level
program abstraction. If they rise to the task, it could move Python to the
forefront of VHLLs. If they don't, well, it won't look good.
Thursday: Developer's Day
The presentations are over. Thursday's sessions are devoted to gatherings of
the various interest groups to determine the future of their issue areas.
Sessions are planned for Internationalization, Documentation, Import
Utilities, XML, the Python compiler, and JPython. Your correspondent will
attend what he can.
Read about Day One and
Day Three--Developer's Day.
Return to: Frankly Speaking