|
ContentKeeper - Web Filtering Solutions | About ABI | Contact | |
APL |
Why select APL as an application development tool when there are so many alternatives? We will restrict our experience and observations to the three most crucial features of a tool, from the standpoint of developers: Implementation EfficiencyAPL is an array-oriented interpreted programming language that has been in use since 1969. As well, the operators in the nucleus of the interpreter are symbols as opposed to semi-English-like mnemonics, making its use more appealing to developers in non-western countries. The array processing aspect of APL permits the processing of entire matrices of numeric or character data with a single instruction, without the need for iteration: in our experience, most APL programs can accomplish their objective in a fraction of the number of lines of code required by other programming languages, sometimes by as much as a 90% reduction.The fact that APL is an interpreter is also beneficial in the testing and debugging phase: errors are reported at the exact point in the source code and can be corrected on the spot and execution resumed - no need to recompile and remake the application every time an error is encountered. In summary, APL allows developers to write code that reflects the human thinking process, as opposed to being concerned with the nuances of the machine environment. It is truly a high-level language. Conformance to Wintel StandardsAPL was once a programming language that carved out its own niche in the DP industry, with its own unique methodology for interacting with the surrounding operating system and other applications. This is fortunately no longer the case.Today's APL interpreters offer state-of-the-art interactive programming and run-time environments that mesh seamlessly with all common operating systems, and speak the same language as all compliant applications on those systems. On the dominant PC platform, both APL+Win and Dyalog APL interpreters are fully functional with all versions of Windows, including Windows 2000 and XP. Further, these APL interpreters contain numerous built-in links to the rest of the MS-Application universe, including native functions for GUI programming, relational database support, ActiveX control programming, and TCP/IP web-based applications. Unix-based interpreters offer similar functionality and superb performance for high-end applications. Ease of SupportDeveloping an application is never the entire process. Quite often, the ongoing support role ends up consuming more time. Efficiency in performing this role is essential, both for the users' satisfaction as well as the developer's busy schedule. Because (as described above) APL is interpreted, errors can be examined and rectified at their source, which makes for very fast error correction turnaround times. In a real-life example, we have APL applications in use across Canada. If a user experiences an error, the application saves a snapshot of its environment in a file which can be emailed to a developer, who can diagnose the problem, fix it, and email back a correction within minutes.If APL is so great, why hasn't it taken over the world? Traditionally, the choice of programming tools available to developers has been determined not by them but by IT management, who pay more attention to advertising than product attributes. In the pre-PC days, APL was hated by mainframe data processing managers because it was popular with end-users who used it to implement their own solutions, bypassing the DP Department. In the present age, APL simply has not been promoted wisely or effectively. But try it once and you will be addicted. Two historical notes that may supplement our argument that APL is great: 1. In the 1970s, while IBM dominated the mainframe market and was promoting expensive cycle-eating software, it quietly implemented many of its internal information systems in APL. 2. When Bill Gates was a student at Harvard, his first significant personal programming project (yes, Bill once wrote code himself) was an APL interpreter. Years later, when asked in an email why he never completed it, his reply confirmed that profit is more important than all other considerations: {billg@MICROSOFT.com} received Mon, 29 Apr 1996, I did a lot of work on an APL interpreter. I was fascinated by the language. However as it got close to completion we decided the demand wouldn't be very large. For a more complete story on why APL is an effective programming environment, please visit the ACM - SIGAPL website and their "Why APL?" link. For more information, please contact: APL Borealis Inc.
|