Saturday, November 11, 2006

Some Overview

interactive shell languages
In contrast to batch compiling decks of punch cards, interactive shells provided a command line experience. Logo and Scheme, both influenced by LISP, Iverson's APL (and later J), Guido's Python, all share this feature, as does xBase (e.g. dBase, FoxPro), another language that's been important to me.

my trajectory '58-'80
Sometimes sharing autobiography is helpful. Above I'm sketching my trajectory from a 1958 birth in Chicago, through my Princeton chapter (Class of 1980), where I majored in philosophy, but also dove into computer science to some degree.

Pythonic infrastructure
Today's picture is rather complicated, Python being implemented in at least three system languages: C, Java and C# (plus whatever those Nokia cell phones use). The C# version, called IronPython, sits atop the .NET engine with its Common Language Infrastructure (CLI).

Since Microsoft defined much of the .NET API as a public standard through ECMA, a Linux version, named Mono ("moe no" not "mah no" i.e. monkey in Spanish) is evolving to bring .NET ("dot net") capability to the Linux platform as well.

IronPython should provide a lot of cross-platform capability twixt Linux and Windows, if Mono keeps up to speed.

A student wanted to know to what extent Python is used to make quality games. I talked about game engines, written in a faster system language, supporting Python bindings for higher level scripting, and about Pygame as a good example.

During this same class, I demonstrated getting Fibonacci Numbers from a Python generator and their convergence to 1/phi, phi being the ratio of a regular pentagon's diagonal to its edge. Note that some authors switch the meanings of phi and tau, plus many use the Greek letters φ and τ.

rotating by theta
Most student coding time was spent modifying, a module I wrote while on vacation in sunny Florida at Bud's house. I've published more information about this module and its context in the Math Forum archives.

Related blog posts: More Pythonic Mathematics, Whiteboard Doodles, Next Generation, New Wings