Free Republic
Browse · Search
News/Activism
Topics · Post Article

To: SkyPilot
No, they are not similar. APL is basically an algebraic approach to programming, and mostly deals with analytic and abstract information processing problems. Since it has good set manipulators it also fond its way into early database work. It is an extremely high level language, one of the most level in fact. Outside of I/O mechanisms there are hardly any features in it that have anything to do with systems engineer, practical manipulation of computing resources and real time system programming.

The core of APL was invented by Kenneth E. Iverson when he was a grad student at Harvard but most of the work was paid for by IBM. Iverson joined IBM after Harvard and I believe that he became an "IBM Fellow" out at the T. J. Watson Research Center, which at the time was their "blue sky" research center, not an engineering center. Incidentally I knew and worked briefly with his son on an APL project once.

It is worth noting that IMB mainframe terminals had APL symbols on their keyboards.

APL has become a bit of a relic as far as computer languages go. There are still some investment banks, program traders and hedge funds that still use it in their programming trading departments, outside of that it seems to be have been left to the "antiquarians" and hobbyists in academia. It appears to have fallen by the wayside as a primary language much like LISP or Prolog has. As a mathematical language it has been superseded by "Mathematica," a language that incorporates many of APLs better features.

ADA on the other hand was designed expressly for software engineering. Most particularly its focus was embedded systems and generally in the domain of aerospace. It was created under the auspices of the DoD (but really the USAF.)

It emphasizes modularity, encapsulation and "generic programming." If you know OO concepts, then strip out thing like inheritance, polymorphism and message passing and replace them with a notion of encasulated "flat objects" (called Packages in ADA) that can be "parameterized" and "generic functions." Ada forces the notion of "Code everything once and in one place" approach to engineering. Its basic and most powerful features are Packages and modularity, Exception handling (it is very good at this,) "generic programming "(essentially writing algorythms that operate on unknown and undefined data types,) and parallel and concurrent programming particularly in an embedded real time environment.

It is a actually great language but never managed to get the "mindshare that other languages got. Part of the problem may be that it came just a little too early in the OO "revolution" that occurred in the late 70s and the early 80s. In got superseded by newer languages like C++, smalltalk and later java.

47 posted on 04/03/2004 4:06:08 AM PST by CasearianDaoist
[ Post Reply | Private Reply | To 46 | View Replies ]


To: CasearianDaoist
Wow--what an answer. Thanks. So Dr. Iverson was the inventor. I remember that name now. I also think I remember the name of my professor now: Dr. Wilber LePage. I don't know his complete background, but he did work with IBM while he was at Syracuse University.

By the way, you sure know your stuff.

49 posted on 04/03/2004 4:42:53 AM PST by SkyPilot
[ Post Reply | Private Reply | To 47 | View Replies ]

Free Republic
Browse · Search
News/Activism
Topics · Post Article


FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson