Differences between revisions 4 and 5
Revision 4 as of 2009-07-25 19:19:59
Size: 3845
Editor: anonymous
Comment:
Revision 5 as of 2009-07-25 21:46:23
Size: 3999
Editor: anonymous
Comment:
Deletions are marked like this. Additions are marked like this.
Line 23: Line 23:
APL is one of the oldest programming languages, and an important influence on the development of spreadsheets, functional programming, Mathematica and !MatLab[1]. It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops. APL is one of the oldest programming languages, and an important influence on the development of spreadsheets, functional programming[1], Mathematica and !MatLab[2]. It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops.
Line 34: Line 34:
[1] http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf [1] http://awards.acm.org/citation.cfm?id=0703524&srt=all&aw=140&ao=AMTURING <<BR>>
[2
] http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf
Line 41: Line 42:
Thanks to Melvin Cowznofski & John Scholes for citations so far.

Wikipedia APL page revamp

At the latest BAA London meeting we discussed improving the Wikipedia article on APL. We believe the present opening implies an article of primarily historical interest. After reviewing articles on Ruby, COBOL and PHP, we drafted a new one. We propose to move the present two opening paragraphs to the beginning of the History of APL section. Here they are.

Present introduction

APL (A Programming Language) is an array programming language based on a notation invented in 1957 by Kenneth E. Iverson while at Harvard University. It originated as an attempt to provide consistent notation for the teaching and analysis of topics related to the application of computers. Iverson published his notation in 1962 in a book titled A Programming Language. By 1965, a subset of the notation was implemented as a programming language, then known as IVSYS. Later, prior to its commercial release, APL got its name from the title of the book. Iverson received the Turing Award in 1979 for his work.

Iverson's notation was later used to describe the IBM System/360 machine architecture, a description much more concise and exact than the existing documentation and revealing several previously unnoticed problems. Later, a Selectric typeball was specially designed to write a linear representation of this notation. This distinctive aspect of APL, the use of a special character set visually depicting the operations to be performed, remains fundamentally unchanged today.

Goals for a new introduction

Before editing the Wikipedia page, we will refine our draft here, and collect citations for the facts presented.

Our goals in the opening are to

  • identify features of the language that might attract new users of it
  • identify aspects of APL development style that might attract sponsors of software projects
  • establish that the language is in active use, with up-to-date interpreters

We must also meet two constraints: avoid contentious claims, and ensure what we say is verifiable. This means adding citations wherever we make a claim that can be challenged. Here is our first draft.

New draft

APL is one of the oldest programming languages, and an important influence on the development of spreadsheets, functional programming[1], Mathematica and MatLab[2]. It is a dynamic, interpreted language based on Iverson's mathematical notation. All data are arrays. Primitive operations all extend to arrays, and are denoted by distinctive graphic symbols rather than words, making APL programs compact and visually striking, with few or no loops.

The language flourishes in scientific, actuarial, statistical and financial applications, and is favored by domain experts writing software for their own purposes. APL is also associated with rapid and lightweight development projects in volatile business environments.

Interpreters are available for a wide range of platforms including PCs, Macs, Linux, mainframes and hand-held computers. Recent extensions to APL interpreters and IDEs include:

  • anonymous lambdas
  • support for class/object programming and .Net assemblies
  • XML-array conversion primitives
  • support for Subversion and Unicode text handling

-- StephenTaylor 2009-07-25 05:36:32

[1] http://awards.acm.org/citation.cfm?id=0703524&srt=all&aw=140&ao=AMTURING
[2] http://www.mathworks.com/company/newsletters/news_notes/clevescorner/jan06.pdf


That's it.

Please comment on it, add suggestions, criticise, but most importantly give us your knowledge. Where is there, for example, a published account that APL influenced the development of MatLab? Perhaps it didn't. Knowing it did isn't enough. Over to you. -- PhilLast 2009-07-24 21:18:17

Thanks to Melvin Cowznofski & John Scholes for citations so far.


CategoryBaaLondon

WikipediaAplPageRevamp (last edited 2009-07-26 08:04:10 by KaiJaeger)