Munis from India wrote:
Basically what is meant by APL programming language, how it is different from other languages like C, PASCAL, COBOL, C++ etc..
Languages like C and Pascal generally have a relatively simple mapping from the language to machine instructions. They are, to an extent, tools for writing machine instructions in a nice, system-independent way. The developers of APL weren't thinking about machine instructions when they created APL. They designed the language as a powerful, mathematically-inspired notation that behaved the way they thought would be most useful. APL's primitive functions have loops built into them, saving programmers from having to write many of the loops that are required in other languages. Operations such as sorting, searching, and selection are built into the language as primitives. As a consequence, APL programs are much shorter, easier to write, debug, and modify than programs in scalar-oriented languages.
APL is almost always interpreted, rather than compiled, and the APL development environment has always been highly interactive and user-friendly. Programs can be run as soon as you finish editing them (no compilation or linking required), and array bounds-checking prevents APL programs from clearing memory or crashing the system. When an error occurs, you're always in control; you can examine the variables of the faulty program, experiment with different expressions, edit the program, and resume execution once you fix the problem.
However, as a consequence of being interpreted, certain types of APL programs (those that operate on scalars or small arrays) run substantially more slowly than equivalent programs written in compiled languages.
Why really it is required? Where is this language used exactly?
APL is useful because it allows skilled programmers to create applications much faster than with other languages. It's widely used in the insurance and investment industries, where speed of development and modification are more important than execution speed. There are niches of APLers in all industries, though, using it as a tool for developing programs quickly with as little programmer effort as possible. Sometimes APL is used to prototype applications that will be rewritten in other languages.
What type of applications we can develop using APL language.
Anything at all; it's a general-purpose language. Although it's known as a mathematical language, it's quite adept at character manipulations as well. One common use for APL is in building custom one-shot data transformations, such as mapping from one file format to another.