Differences between revisions 30 and 31
Revision 30 as of 2009-08-19 07:27:54
Size: 3992
Editor: KaiJaeger
Comment:
Revision 31 as of 2009-08-19 20:27:16
Size: 4531
Editor: KaiJaeger
Comment: Restructured and polished
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents>>
Line 8: Line 10:
Availiability of textbooks for recent implementations of APL is limited. J, an array-based programming language with APL roots, is an honourable exception. The classic textbooks do not cover recently-implemented, important features of modern APLs such as object-oriented concepts, GUI (graphical user interface) implementation, program flow control structures, .NET interfaces, direct definition, namespaces and user-defined operators. A classic APL textbook, such as Gilman, L. and Rose, A.J. "APL: An Interactive Approach", can be used to learn the fundamentals of the APL programming language.

The basic and advanced features of APL+Win, including ActiveX interface (e.g. interface with Microsoft Office, ADO databases), Windows GUI development, and application system architecture, are fully discussed with practical examples in the recent book Askoolum, A. "System Building with APL+Win" Wiley 2006, which is available from Amazon or directly from APL2000.

The book Reiter, C.A. and Jones, W.R. "APL with a Mathematical Accent" Wadsworth 1990 discusses the fundamentals of APL and also provides examples from matrix algebra, Monte Carlo simulation and statistics.

== Open source ==
[[NARS2000 | NARS2000]] is an Open Source APL which is strongly suggested for looking into the language as such. It does not come with any OO-features, this is subject to the commercial implementations: APLX, Dyalog, VisualAPL.
=== Open source ===
[[NARS2000]] is an Open Source APL which is strongly suggested for looking into the language as such. It does not come with any OO-features, this is subject to the commercial implementation.
Line 19: Line 15:
== Industrial strength ==
[[http://www-306.ibm.com/software/awdtools/apl/|APL2]], [[http://www.apl2000.com/|APL2000]], [[http://www.microapl.co.uk/apl/|APLX]], [[http://www.dyalog.com|Dyalog APL]] and [[http://www.soliton.com/services_sharp.html|SHARP APL]] are primarily used for commercial programming and run on a variety of PC and mainframe platforms. They are extensively documented but some offer little material to support new programmers. They are shipped with many features to assist working programmers and are excellent tools for general programming.
=== Commercial APLs ===
==== Interpreted APLs ====
Line 22: Line 18:
[[http://forum.apl2000.com/viewforum.php?f=4&sid=65746cb3d23cf81a68ae03c5ea7c4e7a|Visual APL]] is an object-oriented, Unicode-based APL implementation which is fully-integrated with WikiPedia:Microsoft_Visual_Studio and produces fully-managed code which inter-operates with any other .Net language, such as C# and VB.Net. An extensive collection of sample applications and detailed examples for VisualAPL are available at [[http://forum.apl2000.com/viewforum.php?f=4&sid=7af62b3872565f012a77b4e1956fbc1d|VisualAPL Forum]]  ||APL2 ||[[http://www-306.ibm.com/software/awdtools/apl/|external link]]||
 ||APL+Win ||[[http://www.apl2000.com/|external link]]||
 ||APLX ||[[http://www.microapl.co.uk/apl/|external link]]||
 ||Dyalog ||[[http://www.dyalog.com|external link]]||
 ||Sharp APL ||[[http://www.soliton.com/services_sharp.html|external link]]||
Line 24: Line 24:
While licences for these interpreters typically cost several hundred pounds, some vendors (e.g. APL2000 [both APL+Win and VisualAPL], Dyalog, IBM and MicroAPL) offer licences for '''educational purposes''' either free or at large discount. MicroAPL and Soliton Associates offer '''free personal versions''' of (respectively) APLX and SHARP APL for Linux. are primarily used for commercial programming and run on a variety of PC and mainframe platforms; see [[System/SupportedPlatforms | SupportedPlatforms]] for details.
Line 26: Line 26:
They are extensively documented but some offer little material to support new programmers. They are shipped with many features to assist working programmers and are excellent tools for general programming.

==== Compiled APLs ====

[[http://forum.apl2000.com/viewforum.php?f=4&sid=65746cb3d23cf81a68ae03c5ea7c4e7a|Visual APL]] is an object-oriented, Unicode-based APL implementation which is fully-integrated with WikiPedia:Microsoft_Visual_Studio and produces truly managed code which fully inter-operates with any other .Net language, such as C# and VB.Net. An extensive collection of sample applications and detailed examples for VisualAPL are available at [[http://forum.apl2000.com/viewforum.php?f=4&sid=7af62b3872565f012a77b4e1956fbc1d|VisualAPL Forum]]

==== Pricing ====
While licences for these implementations typically cost several hundred pounds/euros/dollars, some vendors (e.g. APL2000 [both APL+Win and VisualAPL], Dyalog, IBM and MicroAPL) offer licences for '''educational purposes''' either free or at large discount. MicroAPL and Soliton Associates offer '''free personal versions''' of (respectively) APLX and SHARP APL for Linux.

== Other members of the APL family ==
=== J ===
J is Ken Iversons latest attempt to improve APL. J is certainly closely related to APL, but in the view of most people it is not an APL dialect. For details see the [[http://www.jsoftware.com/jwiki/FrontPage|J wiki]]

=== Q ===
Line 28: Line 42:
== Documentation ==
=== Overview ===
Availiability of textbooks for recent implementations of APL is limited. The classic textbooks do not cover recently-implemented, important features of modern APLs such as object-oriented concepts, GUI (graphical user interface) implementation, program flow control structures, .NET interfaces, direct definition, namespaces and user-defined operators. However, a classic APL textbook, such as Gilman, L. and Rose, A.J. "APL: An Interactive Approach", can be used to learn the fundamentals of the APL programming language.

=== APL+Win ===
The basic and advanced features of APL+Win, including ActiveX interface (e.g. interface with Microsoft Office, ADO databases), Windows GUI development, and application system architecture, are fully discussed with practical examples in the recent book Askoolum, A. "System Building with APL+Win" Wiley 2006, which is available from Amazon or directly from APL2000.

=== APL and Math ===
The book Reiter, C.A. and Jones, W.R. "APL with a Mathematical Accent" Wadsworth 1990 discusses the fundamentals of APL and also provides examples from matrix algebra, Monte Carlo simulation and statistics.
Line 29: Line 53:

Which APL?

Where to start — and with which APL? There are several to choose from.

Self-starters

If you have no prior experience with an APL, no teacher and no textbook, download NARS2000, an Open Source APL interpreter, and make use of the excellent APL Tutorial on the APL wiki.

Classic APL

Open source

NARS2000 is an Open Source APL which is strongly suggested for looking into the language as such. It does not come with any OO-features, this is subject to the commercial implementation.

A+ is an APL originally developed by Arthur_Whitney for financial-markets applications at Morgan Stanley, an American investment bank, where it has been used since the mid-1980s, and subsequently released under GNU Public Licence at aplusdev.org. The BAA built a Windows version of A+, which you can download from the BAA A+ project.

Commercial APLs

Interpreted APLs

are primarily used for commercial programming and run on a variety of PC and mainframe platforms; see SupportedPlatforms for details.

They are extensively documented but some offer little material to support new programmers. They are shipped with many features to assist working programmers and are excellent tools for general programming.

Compiled APLs

Visual APL is an object-oriented, Unicode-based APL implementation which is fully-integrated with Microsoft_Visual_Studio and produces truly managed code which fully inter-operates with any other .Net language, such as C# and VB.Net. An extensive collection of sample applications and detailed examples for VisualAPL are available at VisualAPL Forum

Pricing

While licences for these implementations typically cost several hundred pounds/euros/dollars, some vendors (e.g. APL2000 [both APL+Win and VisualAPL], Dyalog, IBM and MicroAPL) offer licences for educational purposes either free or at large discount. MicroAPL and Soliton Associates offer free personal versions of (respectively) APLX and SHARP APL for Linux.

Other members of the APL family

J

J is Ken Iversons latest attempt to improve APL. J is certainly closely related to APL, but in the view of most people it is not an APL dialect. For details see the J wiki

Q

Q is the latest APL from Arthur Whitney, tuned for fast execution and very large database queries. It sees most use in financial markets, where server licences sell for tens of thousands of dollars. Educational licences are available for teaching; contact KX Systems.

Documentation

Overview

Availiability of textbooks for recent implementations of APL is limited. The classic textbooks do not cover recently-implemented, important features of modern APLs such as object-oriented concepts, GUI (graphical user interface) implementation, program flow control structures, .NET interfaces, direct definition, namespaces and user-defined operators. However, a classic APL textbook, such as Gilman, L. and Rose, A.J. "APL: An Interactive Approach", can be used to learn the fundamentals of the APL programming language.

APL+Win

The basic and advanced features of APL+Win, including ActiveX interface (e.g. interface with Microsoft Office, ADO databases), Windows GUI development, and application system architecture, are fully discussed with practical examples in the recent book Askoolum, A. "System Building with APL+Win" Wiley 2006, which is available from Amazon or directly from APL2000.

APL and Math

The book Reiter, C.A. and Jones, W.R. "APL with a Mathematical Accent" Wadsworth 1990 discusses the fundamentals of APL and also provides examples from matrix algebra, Monte Carlo simulation and statistics.


CategoryGuides

WhichApl (last edited 2017-02-16 17:49:14 by KaiJaeger)