ActiveBlog

"Old timer" memories, per Guido's request
by David Ascher

David Ascher, June 7, 2006

Guido asked a bunch of us "old-timers" for our first memories of our involvement in Python. I did a little digging in Google Groups, and I was a bit stunned by what I found. My first post in comp.lang.python (although...

Guido asked a bunch of us "old-timers" for our first memories of our involvement in Python.

I did a little digging in Google Groups, and I was a bit stunned by what I found.  My first post in comp.lang.python (although I was using the python-list [at] cwi [dot] nl at the time) was about emacs and used regular expressions:

I just whipped up this code to make hilit19 deal w/ python code relatively properly.  Put it in your .emacs file.
 

Note: detecting documentation (e.g. triple quote strings after class or function definitions) as comments rather than strings would be nice, if anyone is motivated enough...

(hilit-set-mode-patterns
  '(m2-mode python-mode)
  '(("\\s #.*$" nil comment)
    ("^#.*$" nil comment)
    (hilit-string-find ?\\ string)
    ("^[ \t]*def[ \t]+\\w+[^ \t(;]*" nil defun)
    ("^[ \t]*class[ \t]+\\w+[^ \t(;]*" nil define)
    ("^[ \t]*import[ \t]+\\w+[^#\n]*" nil include)
    ("^[ \t]*from[ \t]+\\w+[^ \t(;]*[ \t]+import[ \t]+[^#\n]*" nil include)
("\\<\\(access\\|and\\|break\\|continue\\|def\\|del\\|elif\\|else\\|except\\|finally\\|for\\|global\\|if\\|in\\|is\\|lambda\\|not\\|=
or\\|pass\\|print\\|\\raise\\|return\\|try\\|while\\)\\>"
nil keyword)
    )
    nil 'case-insensitive)

So, here we are, 11 years later, and I'm still writing code to make better tools for hacking Python.  Depressing in a way, but we won't dwell on that.  (This post is even scarier!)

Instead, let's go a little bit earlier, a few months earlier in fact, because what led me to Python is maybe more important than my particular obsession within it.  I was a grad student doing work in auditory research.  Like a lot of grad students, what I was actually doing was writing C++ code and  then trying to get my fellow grad students to appreciate the beauty of my code.  It became pretty quickly clear that that wasn't going to happen with C++ code, so I figured I would write a scripting front-end.  As a victim of a compiler class, I grabbed my copy of the Dragon book, and started defining a grammar, fighting the parser generator, and got really, really frustrated.  After too many days of pain, I realized that I wasn't in a class, and that what really mattered was getting a scripting front-end, not being the one to invent is.  I did a little altavisting (somehow doesn't work as well as Googling', but those where the days), and came across two languages: Phantom and Python.  (Phantom didn't grab me, go wonder).  I don't know why I didn't think of using Tcl and Perl, two languages I already knew.  Anyway, I quickly downloaded the tutorial, read it, and was immediately quite excited (my officemate was then quickly subjected to long raves about this language which "was even cooler than MetaPost", which was my newest toy at the time).

I quickly got involved on the newsgroup, threw out ideas, and got answers from Really Nice Folks.  People were just so incredibly encouraging, from Guido ("ooh, Guido wrote to me!") to Tim Peters, to /F (back then he was more cheerful =), Uncle Timmy, Don Beaudry, Ken Manheimer, Barry Warsaw,  and lots more.  I will always be very grateful to them all.  It's truly amazing how much fun was had by all over so many yerars.  The conferences were very important, but the mailing list is what kept people involved every day for years, long before anyone was making any money with the stuff.

I'm extremely lucky that for me it became more than fun, as it slowly turned into a job, a book, another job, another book, yet another job.

The world would be a much better place if everyone could experience this kind of long-term involvement in activities that combine intellectual curiosity, learning, fun, and real friendships.  It's hard to recall the last 11 years and not think that the internet is so damn cool, that programming is fun, and that there are a lot of nice people out there.

Cheers.

Subscribe to ActiveState Blogs by Email

Share this post:

Comments

1 comments for "Old timer" memories, per Guido's request
Permalink

To read more memories of Python old-timers, go to my Artima blog: http://www.artima.com/forums/flat.jsp?forum=106&thread=161207