eccstartup
eccstartup

Reputation: 517

How to choose between APL compilers?

I am using Dyalog APL, but I have found that some functions are not available in gnu-apl. Are there great differences between these two APL implementations and all the other APL implementations? What is the most commonly used APL compiler?

Upvotes: 4

Views: 1265

Answers (2)

David Siegel
David Siegel

Reputation: 261

I have done professional work using both Dyalog APL and apl2000'S APL+ series, but more on the latter. Perhaps because of this, I tend to like it more, but that is very much a matter of taste. Each has a number of proprietary extensions to the core language. Some, such as control structures, are implemented in a very similar way, some, such as defined operators, are unique to one system. But I have found that pretty much any sequence or algorithm can be fairly easily translated from one to the other, and I have yet to find anything that can be done in one that can't fairly easily be done in the other, perhaps with a slightly different approach. I never worked professionally on IBM's APL2, but it isn't that different.

Upvotes: 2

Lobachevsky
Lobachevsky

Reputation: 1252

For all practical purposes, all commercial APL implementations are interpreters.

There are a handful of vendors out there, APL2000, Dyalog, IBM, and MicroAPL, possibly others. The three non-commercial APL efforts that I know of today are GNU APL, NARS2000, and NGN APL which runs on your browser.

I don't think I could accurately guess as to which system is most commonly used. That may depend on which APL system you had used in the (distant) past - STSC timesharing or APL*Plus\PC users might be inclined to go with APL2000, Sharp timesharing might go with Dyalog, and IBM mainframe APL2 users might stick with APL2 for the PC. There is often a continuity of important features which may make different APLs more or less attractive for different users.

Although there is such a thing as a core APL language, vendors typically add language extensions and very substantial proprietary enhancements to their versions, which include but are not limited to an APL file system, interfaces to system facilities such as .DLL or .SO files, .Net, Java, Windows and form design enhancements, object oriented features, and so on.

So yes, there are great differences amongst the different APL implementations. It's a question of what you need.

Upvotes: 8

Related Questions