[nSLUG] On programming

George White aa056 at chebucto.ns.ca
Tue Oct 21 12:21:55 ADT 2003

I agree that perl is an ugly language, but it is also unavoidable, so
anyone serious about linux administration needs to know a bit of

There are a number of elegant languages that never became popular
because they were "slow" on the hardware available 10 years ago.
Now that the hardware is so much faster, it is worth looking at these
languages again.  

Some of you may have encountered the elegant APL programming language,
which originated as a new mathematical notation devised by Iverson (a
Canadian) while at Harvard.  He didn't get tenure because "all this guy
has published is one thin book", but he did get a job at IBM where he
implemented APL as a programming language, and later received the ACM
Turing Award for it. More recently, Iverson developed the J language,
which is an extension of APL but without the funny characters (APL
notation used symbols you don't find on most keyboards, for example there
were different symbols for negation and subtraction). 

I've met Iverson a couple times.  He doesn't have much use for
conventional computer scientists -- he finds that mathematicians using J
are much more productive.  Apparently this works well for some big
banking and investment firms, who have lots of proprietary software
and no requirement that it be useful to outsiders.  

Programming in J is unlike any other language.  Suppose you want to
sum the columns of an array.  In most languages you write a double
loop -- the outer loop moves over columns and the inner loop does
sums.  In J you take the "+" operator and extend it to arrays using 
modifiers to say "apply + between column entries to generate a vector
result".  There was a early version of a J interpreter written in C.

George White <aa056 at chebucto.ns.ca> <gnw3 at acm.org>
189 Parklea Dr., Head of St. Margarets Bay, Nova Scotia  B3Z 2G6

More information about the nSLUG mailing list