On the XO Laptop

Why Python?

leave a comment »

[First published as Why Python? on November 23, 2007.]

joined the Ubuntu community this past summer and posted several comments to the Ubuntu Forums, including several about high-level programming languages in which I recommended that Python was the best available high-level language to learn the principles of programming. I accumulated 70 or so beans doing that, though I haven’t been active in the community for a couple of months (that will soon change).

I just wrote a post on my main blog, Back In The Day: Computing in 1959, 1971. It contains images of two artifacts:

  • The user manual for the first computer I ever used, the Bendix-G15. That was in 1960 or so.
  • A printout on teletype paper, dated 1971, that was part of the first implementation of SETL, a programming language based on finite set theory.

Python is the creation of Guido van Rossum. Though I had known that Guido was from the Netherlands and had done his undergraduate work in Amsterdam, I was not aware of the direct influence of SETL on Python until I recently looked up the Wikipedia entry for Guido, Guido van Rossum. It contains the following:

In 2000 he [Guido] further wrote:

Python’s predecessor, ABC, was inspired by SETL — Lambert Meertens spent a year with the SETL group at NYU before coming up with the final ABC design! [2]

The SETL Project began around 1971 and lasted until 1983 or so. I was there for the duration.

I met Lambert during his stay at NYU, though I don’t recall our working together, as my focus in those days was as the principal designer, implementer, and maintainer of LITTLE, the implementation language for SETL.

Lambert returned to Amsterdam after his time at NYU and created a language called “B” that was meant for teaching programming. It was succeeded by a language called “ABC,” and I just discovered that Lambert and Guido worked together on ABC. See Guido’s post [Python-Dev] SETL (was: Lukewarm about range literals), which says in part:

> isn’t that taken from SETL? (the more I look at SETL, the more Pythonic it looks. not too bad for something that was designed in the late sixties 😉

You’ve got it backwards: Python’s predecessor, ABC, was inspired by SETL — Lambert Meertens spent a year with the SETL group at NYU before coming up with the final ABC design!

–Guido van Rossum

I also discovered that Guido and Lambert were co-authors of a paper about ABC.

Now I make no claim that my own work on SETL played any role in Guido’s work, for Python is his creation.

However, I do see a direct — or at least a very personal — link to my first programming in 1960 and the work I am am about to undertake to provide instruction on learning and programming in Python.

I started this project a few weeks ago, though under another name, “PythonBytes.” I have deleted that project and will continue the work in this project.

My original goal was to teach the basics of programming by using Python to write programs that took as input various forms of XML, mainly that XML for files related to blogging. For example, one of my planned tasks was to write a Python program that would prepare a concordance of a blog.

I only learned in the last few days that Python is a key implementation language of the XO Laptop, and thus look forward to working on this project with even greater anticipation.

However, I want to get the key project, XO Laptop, off the ground, as that is the one meant for users and educators, not programmers.

I plan to resume work on this project when my XO Laptop arrives, as time permits.


Written by daveshields

December 12, 2007 at 2:44 pm

Posted in xo-laptop

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: