[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lightweight languages

   Date: Thu, 6 Dec 2001 17:52:54 -0700
   From: "David McClain" <barabh@qwest.net>

				But more importantly to support this kind of
   lightweight investigative programming, all the math is vectorized -- meaning
   that math operations apply equally well to scalar values and entire
   multidimensional arrays of values. Vectors and matrices can be easily sliced
   and diced with terse syntax.

If you don't already know about it, you might be interested in looking
at a programming language called "APL", which stands for A Programing
Language, invented by Kenneth Iverson (of IBM, I think) in the 1960's
(I think).  It has fallen out of prominence, although I have no doubt
that there is some remnant still actively using some form of it
somewhere.  It used its very own character set, and you had to use
special computer terminals with special keyboards to use it!  (Later,
ways were developed to notate it in ASCII.)

APL gives the phrase "terse syntax" a whole new meaning.  It was
nothing short of astonishing what an expert APL programmer could do in
a single line of code.

APL had a radical attitude toward flow of control.  My impression is
that although it was possible to write a loop in APL, the prevailing
ethos was that loops are for wimps: if you want to do something N
times, you should have a vector of length N and just do a single
vector-oriented operation.

It just occurred to me that there might be people on this mailing list
who had never set eyes on this marvel and might want to learn more
about it.  I guess that means I should direct you to a resource,
but apart from Iverson's book "A Programming Language", I don't
know where to look.  OK, I guess I should check it out.

The book is available at Amazon for a mere $226.75 (yikes!) or
used for $84.  Probably a good alternative would be to start at:


There's an essay at www.acm.org/sigapl/whyapl.htm whose beginning
is interesting in the context of the discussion on this (ll1-discuss)
mailing list:

APL is one of the most powerful, consistent and concise computer programming languages ever devised. 

        APL is an interactive language returning answers immediately. 

        APL is easy to learn and use; if you make a mistake, it is easy to fix. 

        APL code takes less time to write and debug than any other high level language. 
        This makes it the most efficient and cost effective language from the combined
        personnel and hardware point of view. 

        Because of these features, APL is the ideal language for all types of people: 

             Those people who want to learn a programming language 
             Those who need a computer which works for them, not they for the computer 
             Managers interested in being managers, not programmers 
             Programmers who want to program

Sounds familiar, doesn't it?

-- Dan