resources‎ > ‎

My Experience with Python

My background is engineering and I was working on software data exchange standards for the manufacturing industry in the early 1990's as a researcher at NIST. I was collaborating with members of industry on the development of new methods for representing product model definitions and communications protocols. This was a time before the World Wide Web had been invented. Industry was still split between using the OSI protocol stack over private networks and using Internet and TCP/IP based protocols. There commercial inter-company communications were over private networks using the EDI X10 standard. Our collaboration was with the research groups within industry, which gave them some freedom to experiment. The Internet had just been opened for commercial participants so we were able to use FTP and Email to facilitate collaboration with industry on the development of the data exchange standards.

I was part of a group working on data representation standards for manufacturing products. We also were developing communications standards for moving this data to machines in a factory and between businesses. I was involved in developing testing software for these standards. The members of the group were using both "static" compiled languages and "dynamic" languages at the time. I was on the ANSI C++ standards committee because wanted to make sure the language would be able to easily implement the data exchange standards. At the time I thought a static object oriented language would have performance and type safety advantages over dynamic languages, like LISP, Perl, and Tcl. These dynamic languages were also being used by our research staff at the time. The C++ language had some advantages as an implementation language for the STEP standard because STEP was being developed as an object oriented design. The STEP committee went so far as to invent the Express language that would be used to write the object definitions for the STEP standard.

Moving Toward Dynamic Languages

The communications protocols for factory floor data exchange were a major research topic within the Division I was working in at the time. As happens in such a research environment I had learned the details of protocols such as SMTP, FTP, and Telnet. One of the expert in debugging these protocols, Don Libes, was also in the Division. He had developed the Expect language to facilitate testing of factory floor data exchange protocols. Don had built Expect on top of the Tcl language. 

The use of email was growing popular with the standards community. Remembering to include everyone on the list of recipients was a common problem and getting added to these ad-hoc lists was troublesome. This lead to the development of setting up email addresses that relayed an email message to a list of "subscribed" list members. 
At the time I had using Perl for some minor parsing tasks

and had my hand at developing a small list server for our sub-committee. The details I've forgotten except for one. I made a minor tweak to my server on a Friday afternoon and left for the weekend. On Monday to my horror I found out my small tweak had set up a loop that caused the same message to cascade to all the members of the list over and over again.

Enter Python

I was involved in the early days of organizing the Python community. I invited Guido to the United States in 1994 for a two month collaboration. While he was visiting we organized the first Python Workshop. (Note the index.html page has been lost and many links are now dead.)  I sponsored a return visit  the next year and he's been in the United States ever since. During this period I asked the question, "What if Guido got hit by a Bus?"  Based on my experience trying to other researchers to use Python at NIST, where I worked at the time, it became clear to me that Python needed an institution or organization behind it to support the growth of the language. I decided that without an organization behind Python would not be considered a credible language. Asking this question on the mailing list started a conversation that eventually resulted in the formation of the Python Software Foundation.

wand I've worked on a wide range of software applications. In circa 1994 I was experimenting with the World Wide Web protocol as an alternative for 

After finding Python in 1994

For the last couple years I've been less involved in the community.

I wrote the original implementation of the module