Take Smalltalk, make file based w/familiar syntax, add best features
of many other languages (regular expressions, iterators), abstract many
features into classes (Regexp) and mixin modules
(Enumerable)

Here we have four code examples. The first three are relatively simple
``textbook'' examples that perform the same task in Java, C++, Smalltalk,
Perl, and Ruby. The last is a slightly more complex example in Ruby only.

The Smalltalk code below was written using Squeak, a free implementation of
Smalltalk. Sorry, but there are no Python examples. I don't know that
language well enough. ObPython: ``My hovercraft is full of eels.''

In this example, we will manipulate a comma-delimited data file by opening
it, reading each line, separating each line into columns, and printing the
columns as a SQL INSERT statement.

For simplicity's sake, we will assume that the data does not contain any
comma characters. This code does handle ``empty'' columns (two consecutive
commas). Because of this, we often can't use the most obvious or clean
solution (for example, a StringTokenizer in Java or
strtok() in C++).

I have Ruby, Perl, and Smalltalk classes that handle Excel comma- and
tab-delimited data--quotes and all--that are yours for the asking. A mini
state machine is necessary to handle the quotes and delimiter chars
properly.

This final example is Ruby-only. It shows a ``real'' script performing a
slightly more complex task: parsing XML and capturing and printing any
errors returned by the parser. The XML isn't processed by this script.

Ruby Application Archive (RAA):
http://www.ruby-lang.org/en/raa.html
(This URL is updated in this HTML version but not the other versions of
this talk; older URL in other versions of this document are redirected to
this one.)