APL2000

What is APL?

APL is an unassuming acronym for A Programming Language. APL is a mathematically structured, array-oriented, interpreted programming language containing a set of primitive functions that work effectively on scalar, vector and matrix data. It allows the programmer to manipulate arrays of data in a natural way. APL is known for its brevity of expression, but more important than brevity is its concise, clear and simple expression of algorithms. APL enables the programmer to easily and directly express the thought "sum all of the elements of this array", or "add all of the elements of array A to the corresponding elements of array B". In most programming languages these constructs would involve writing a loop, but in APL this is not necessary. For instance the expression "+/1 2 3 4 5" calculates the sum of the values in "1 2 3 4 5" and returns the result 15. The expression "1 2 3 4 + 10 20 30 40" calculates the sums of the corresponding elements of the arrays and returns an array result "11 22 33 44". All APL scalar functions automatically extend in these ways and more.

APL provides a development environment for building and managing APL applications. This includes tools for defining and storing APL functions. It also includes an immediate execution session which behaves like a calculator. This allows the programmer to experiment with APL expressions dynamically. Such exploration contributes to both speed of development and accuracy of code.

Like Perl, PHP, and Python, APL is compiled to byte code and run by an execution engine. Like the Perl, Ruby, and Python shells, APL has an immediate execution session for quick experimental feedback. Like array boundary checking in C# and C++/CLR, array handling in APL prevents application programmer errors from overflowing array boundaries and exposing vulnerabilities. Like C#, APL has a rich set of array based data structures. Unlike C#, APL has a rich set of primitive functions to enable high level manipulation of those arrays.

APL has been a well-defined programming language for many years with numerous significant enhancements implemented during that time. Its features and syntax have been made available on many hardware and operating system platforms since its initial implementation. When it's necessary to respond to changing needs and conditions, application programs written in APL are easy to deploy in other environments.

To see APL first-hand, download the Free APL Tutorial, an interactive tutorial for learning APL.

And for a description of APL for non-APL programmers, view the document APL - a Glimpse of Heaven at Vector, the journal of the British APL Association.

Privacy Policy