Differences between revisions 21 and 34 (spanning 13 versions)
Revision 21 as of 2009-07-17 17:09:52
Size: 2730
Editor: KaiJaeger
Comment:
Revision 34 as of 2010-04-07 10:39:33
Size: 3995
Editor: SimonMarsden
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<TableOfContents>>
Line 2: Line 4:
Line 6: Line 7:

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 [[http://aplwiki.com/LearnApl/LearningApl|Tutorial on the APL wiki]].
If you have no prior experience with an APL, no teacher and no textbook, download [[Open Source APL: NARS2000|NARS2000]], an Open Source APL interpreter, and make use of the excellent APL [[http://aplwiki.com/LearnApl/LearningApl|Tutorial on the APL wiki]].
Line 10: Line 10:

There are no textbooks on the other modern APLs; J is an honourable exception. The classic textbooks tell nothing about important features of modern APLs such as object-oriented GUI support, control structures, .NET interfaces, direct definition, namespaces and user-defined operators. But if you have a classic textbook, such as Gilman & Rose, you can use it to learn the basics of the language.

In this case, you will find the ISO-standard APL '''I-APL for Windows''' will serve you very well. You can [[attachment:iapl111.zip|download]] it here.

== Open source ==
=== Open source ===
[[Open Source APL: 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 implementation.
Line 19: Line 15:
== Industrial strength == === Commercial APLs ===
==== Interpreted APLs ====
Line 21: Line 18:
[[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 offer little material to support new programmers. They are shipped with many features to assist working programmers and are excellent tools for general programming.  ||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 23: Line 24:
[[http://www.aplnext.com/|Visual APL]] is a new APL specifically designed for use with WikiPedia:Microsoft_Visual_Studio in multilingual applications. are primarily used for commercial programming and run on a variety of PC and mainframe platforms; see [[System/SupportedPlatforms | SupportedPlatforms]] for details.
Line 25: Line 26:
While licences for these interpreters typically cost several hundred pounds, some vendors (eg 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. 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.
Line 27: Line 28:
==== 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.

Pricing varies quite widely. For example, some APLs require you to purchase an annual developer licence; other vendors sell APL as a one-off transaction, and only charge for upgrades. In addition, some APL vendors charge a fee for a runtime licence (required when distributing your own applications written in APL); for other vendors the runtime licence is free. If price is important you are advised to shop around.

== 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 29: Line 44:
---- == Documentation ==

There are some excellent books available adressing the needs of beginners as well as advanced programmers. Look at BooksAndPublications for a list.

----

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.

Pricing varies quite widely. For example, some APLs require you to purchase an annual developer licence; other vendors sell APL as a one-off transaction, and only charge for upgrades. In addition, some APL vendors charge a fee for a runtime licence (required when distributing your own applications written in APL); for other vendors the runtime licence is free. If price is important you are advised to shop around.

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

There are some excellent books available adressing the needs of beginners as well as advanced programmers. Look at BooksAndPublications for a list.


CategoryGuides

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