[Edu-sig] [BULK] More OOP bashing (& which metaphor is best?)
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Thu Apr 5 00:01:10 CEST 2007
Peter Chase wrote:
> Not sure you can trust anyone using the phrase "appeal of APL".
Personally, I haven't used APL for over twenty years (since when you
needed it to run a graphics package called FOIL to produce multicolor
plotter output). I'm not a big fan of backspacing over funny characters
to make more even complex operators (as neat an idea as I'm sure that
sounded at the time). :-(
"The executive committee is making an effort for SIGAPL to strengthen
its position as an organization that sponsors the use of many array
programming languages, including APL, J, K, matlab, Gauss, and APLus. In
addition, we want to re-activate the relationships with local APL user
groups and initiate relationships with users of other APL dialects."
Obviously, matlab is very mainstream in several domains (especially
related to signal processing).
But even in the Python context, NumPy or variants are bringing the power
of arrays to Python. See:
"NumPy for Matlab Users"
"MATLAB® and NumPy/SciPy have a lot in common. But there are many
differences. NumPy and SciPy were created to do numerical and scientific
computing in the most natural way with Python, not to be MATLAB® clones."
FScript tried to bring powerful array concepts to Smalltalk.
"The OOPAL model, a new high level programming model which unify OOP and
APL-like Array programming."
So, let me rephrase that as, "the appeal of APL, J, K, matlab, Gauss,
APLus, FScript and NumPy." :-) Sound slightly more trustworthy? :-)
Anyway, my point is that array processing offers yet another paradigm
alternative to OOP, and for the right task (e.g. simulating fields of
force), it can be a very attractive approach. Of course Python, being
very flexible and modular and expandable, gives you a lot of those
possibilities without all the line noise. :-) And one might argue, that
if you were teaching programming to, say, Astrophysics-interested
people, you might be better off focusing on NumPy and doing array
calculations using procedural code than talking about all the typical
OOP examples of hierarchies of shapes and such.
All the best.
More information about the Edu-sig