APL (A Programming Language) is a programming language developed by Kenneth E. Iverson in the late 1950s and early 1960s, releasing it in 1966.
The language began as a mathematical notation for manipulating arrays. Iverson used his notation in a draft of a book that he was writing with Fred Brooks. While employed by IBM in 1962, he began the work of developing his notation into a complete programming language. Lawrence M. Breed, Richard H. Lathwell, and Roger Moore had a hand, along with Iverson, in developing Iverson's notation into a programming language.
IBM was largely responsible for introducing APL to the marketplace in 1966, and it was first made available for the IBM 1130 in 1967, at which time it was known as APL\1130. Capable of running in as little as 8k 16-bit words of memory, it used a dedicated 1-megabyte hard disk.
During the 1970s, APL was widely used on mainframe computers because it would support multiple users on systems that lacked dynamic address translation hardware. Versions of the language were developed for additional IBM computer products. In time, modified versions were produced for computers outside of the IBM family.
By the late to mid-1980s, users were migrating their applications to the personal computer environment, where BASIC became the more common programming language. However, some microcomputers provided APL instead, the first being the Intel 8008-based MCM/70, which was released in 1974. Another was the VideoBrain Family Computer, which began production in 1977. The Commodore SuperPET included an APL interpreter.
In the 1980s, APL development at IBM was implementing a new version of the language. Iverson, no longer in control of APL development, left IBM and joined I.P. Sharp Associates, where he directed Sharp APL in accordance with his vision of the language.
Modern implementations of APL include extensions for object-oriented programming, support for the .NET framework, and other additions.
The A language was created to replace APL in 1988, although APL is still in use, and A+ descended from A. Developed by Kx Systems, K is a proprietary variant of APL.
Websites focused on these languages may be listed in this category, along with those covering the APL programming language, or any tools created to supplement them. Tutorials, user groups, and other sites closely related to APL, A, A+, K, or any other close variants of the APL language, are appropriate for this category.
Categories
A (languages) |
 
 
Recommended Resources
Conducted in a lecture/laboratory mode, with an emphasis on interactive exercises, this APL programming course by Polivka Associates introduces a major portion of the APL programming language. The objectives, prerequisites, duration, and class outline are stated, and the instructor is introduced. Polivka Associates can also provide classes in any of several vendor-specific dialects of APL. Site resources include an overview of the programming language, APL examples, and awards.
http://aplclass.com/
APL Cloud provides software solutions that include migrating legacy APL applications to the Internet, business websites, systems integration, and a variety of web services. The company leverages APL engines (Dyalog APL) and APL web servers (MiServer) to build, debug, and deploy fully functional web services with APL in minutes that can communicate with any other web service on the Internet. An introduction to the company and its services are set forth, and informational videos are included.
http://www.aplcloud.com/
APL Cultivation was the title used for a series of twenty-nine weekly 90-minute live chat lessons given by Adam Brudzewsky in the APL Orchard chat room from October 18, 2017, to May 16, 2018, covering most aspects of basic APL programming. The series was then continued on November 28, 2019, with more in-depth lessons every few weeks, up until August 25, 2020. This is an attempt to reformat these sessions into an accessible and expanded format, licensed under a Creative Common Attribution.
https://xpqz.github.io/cultivations/Intro.html
Using a Wiki platform, APL Wiki features more than four hundred articles that anyone can edit. APL is an array-oriented programming language, known for its natural, concise syntax. Topics include introductory, informational, and instructional articles relating to creating a program through APL, running APL, and hobbyists and application developers who use APL. Simple and advanced code examples are provided, and information on how to contribute content to APL Wiki is provided.
https://www.aplwiki.com/
APL is a programming language developed in the 1960s, and which has influenced the development of concept modeling, spreadsheets, functional programming, and computer math packages. APL2C is an extended APL interpreter with a built-in compiler, able to convert a set of APL functions into C source files, which is portable to multiple platforms. Highlights of the interpreter and compiler are featured, along with documentation and a downloadable trial version.
http://www.apl2c.de/home/
The BAA is an organization that promotes array-programming languages known for their elegance, conciseness, and fast development speed, many of them derived from Kenneth Iverson's mathematical notation. Its website identifies APL and the evolution of the language, a profile of the organization, a newsletter known as "Vector," meeting minutes and other reports, and a calendar of schedules and events. Readers may also subscribe to the British APL Association for notices of upcoming events.
https://britishaplassociation.org/
First released in 1983, Dyalog APL is now available for AIX, Linux, macOS, and Windows operating systems offering an APL-based development environment that allows subject matter experts and IT specialists to convert ideas into software solutions easily. The company’s flagship product is its Dyalog interpreter, an optimized language engine that integrates functional and object-oriented features into the APL language core. Free for non-commercial use, prices and licenses are disclosed.
https://www.dyalog.com/
Designed and maintained by Jurgen Sauermann, GNU APL is a free interpreter for the APL programming language, and a near-complete implementation of ISO standard 13751, also known as Programming Language APL, Extended. A brief description is given, along with instructions for downloading and installing the language files, reporting bugs, and an informational manual. Links to sites maintained by the GNU APL community are included.
https://www.gnu.org/software/apl/
Licensed under a Creative Commons Attribution, Stefan Kruger created this book to be the one he would have wanted to read when he was first learning APL, an introduction to the language for an experienced practitioner from a different programming language or two. APL is an array language, and one of the oldest programming languages still in use today, next to FORTRAN, Lisp, and COBOL. The benefits of learning APL are outlined here, along with the difficulties, and a full tutorial.
https://xpqz.github.io/learnapl/intro.html
MicroAPL provides tools and services for porting legacy assembly-language or object code software to new architectures, including static assembly-language translators, machine-code emulators, and the Relogix assembler-to-C translator. Founded in 1984, the company also offers an advanced object-oriented implementation of APL called APLX. A profile of the company, its code migration services, and APLX language are highlighted, and contacts are provided on the site.
https://www.microapl.com/
SIGPLAN Chapter on Array-Programming Languages
SIGAPL was an official special-interest group chartered under the Association for Computing Machines (ACM). De-chartered by the SIG governing board in 2008, what was formerly SIGAPL is now a chapter within the larger Special Interest Group on Programming Languages (SIGPLAN). APL stands for either "A Programming Language," which is a specific language, or "Array Programming Languages," exemplified by the language but including other languages. APL is the original array language.
http://sigapl.org/
StudyGyaan: APL Programming Language Cheatsheet
On its site, StudyGyann publishes tutorials and other resources for programmers and developers. Developed in the 1960s, APL is known for its concise and expressive syntax. In this cheat sheet, the author, Huzaif Sayyed, explores the key elements of APL, providing a quick reference for beginning and experienced programmers learning APL. It includes the basics of APL, special symbols, control flow, operations, tips and tricks, and a conclusion, along with a FAQ.
https://studygyaan.com/cheatsheet/apl
APL is an array-oriented programming language that uses concise syntax and produces shorter programs. A copy of the language files may be downloaded, or users can try it out on their web browser here. Other resources include lessons and tutorials on APL basics, its functions, operators, and highlights of recent releases, as well as example programs. An APL cheat sheet/primer is featured, and several APL resources hosted on other sites are included.
https://tryapl.org/