3335
Comment:
|
3736
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
<<TableOfContents>> |
|
Line 5: | 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 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 covert 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. But if you have a classic textbook, such as Gilman & Rose, you can use it to learn the fundamentals of the APL programming language. | === 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 10: | Line 13: |
The advanced features of APL+Win from APL2000, including ActiveX, GUI development and web services, have been fully documented 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. 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 == |
|
Line 17: | 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 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 20: | Line 18: |
[[http://www.aplnext.com/|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. | ||APL2 ||[[http://www-306.ibm.com/software/awdtools/apl/|external link]]|| ||APL+Win ||[[http://www.apl2000.com/|external link]]|| ||Dyalog ||[[http://www.dyalog.com|external link]]|| |
Line 22: | Line 22: |
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 24: | Line 24: |
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 and IBM) offer licences for '''educational purposes''' either free or at large discount. Pricing varies quite widely. For example, some APL vendors 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 26: | Line 42: |
== Documentation == There are some excellent books available adressing the needs of beginners as well as advanced programmers. Look at BooksAndPublications for a list. |
|
Line 27: | Line 47: |
Contents
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
APL2
APL+Win
Dyalog
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 and IBM) offer licences for educational purposes either free or at large discount.
Pricing varies quite widely. For example, some APL vendors 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.