High-Level Language
Computer languages are classified as low-level, intermediate, or high-level. A low-level or machine language is the most basic because it is the only type that a computer can interpret directly, in hardware. In fact, each computer can directly interpret only that machine language which is particular to the details of its own physical structure. An intermediate language, such as assembly language, must be translated into machine language in order to be executed, but is similar to a low-level language because it lacks sophistication; in general, an intermediate language is closer to a low-level language than to a high-level language. A high-level language, sometimes called a high-order language, possesses the following four characteristics: (1) it is written to be independent of the hardware of a type or class of computers; (2) it is fairly close to human languages in structure and syntax; (3) it provides a level of sophistication significantly above that of machine language; and (4) it must be translated into machine language for use by a computer.
A high-level language utilizes symbols, words, phrases, and sentences from human language (including the artificial human language of mathematics). The syntax or meaning-structure of a high-level language--that is, its methods of ordering, nesting, and sequencing concepts--is more like that of human language than those of assembly or machine language and is therefore easier for people to use in writing complex programs. The syntax of a high-level language can be described using either syntax diagrams (drawings) or Backus Naur Form (symbols).
The main advantage of high-level language over lower-order languages is that it is easier to read, write, and maintain code written in a high-level language. In addition, a high-level language allows larger and more complicated programs to be developed faster. However, a high-level language must be translated before execution into machine language by a compiler or translator. For this reason, programs written in a high-level language take longer to execute and use more memory than programs written in a low-level language.
High-level languages are commonly classified as procedure-oriented, functional, object-oriented, or logical. Most common type are the procedure-oriented languages, in which one or more related blocks of statements that perform a function are grouped together into a program module or procedure and given a name such as "subroutine X." If the same operation is required elsewhere in the program, a simple statement can be used to refer to the procedure. A large program can be constructed by grouping together procedures that perform different tasks. A procedure-oriented language allows programs to be shorter and easier for the computer to read, but it requires that the programmer design each procedure to be general enough to be used in different situations (i.e., with different input or data sets)--which may be difficult. In a procedure-oriented language, the program cannot manipulate itself; it manipulates data, conceived as something distinct from the program.
A functional language treats procedures like mathematical functions and allows them to be processed like other data. This allows for more flexible programs.
The object-oriented languages are an extension of the functional languages. In an object-oriented language, the program code and the data processed by the program are grouped together into units called objects. Objects are further grouped into "classes," groupings which define the characteristics that objects must possess. An example of a class is Movie. Objects within this class might be Western and Horror. Objects also have certain functions associated with them called methods. The computer accesses an object through one of the object's methods. The method performs some action on the object and returns this value to the computer. Classes of objects can be further grouped into hierarchies in which objects of one class may inherit methods from another class.
A logic language uses logic as its mathematical foundation. A logic program consists of sets of facts and "if-then" rules which specify how one set of facts may be deduced from others. Many artificial intelligence programs are written in such languages.
The first high-level languages were designed in the 1950s, primarily to make programs portable between different computers. Around 1956 John Backus led a team at International Business Machines (IBM) Corporation to develop the first high-level language, FORTRAN (FORmula TRANslation), for scientific and engineering applications. In the late 1950s John McCarthy at the Massachusetts Institute of Technology developed LISP (LISt Processing language), a program that handled recursive algorithms and has become one of the standard languages for artificial intelligence. In 1959 COBOL (COmmon Business Oriented Language), the first language for commercial applications, was developed under the leadership of United States Navy programmer Grace Hopper. ALGOL (ALGOrithmic Language), developed in Europe around 1958, was used primarily in mathematics and science, as was APL (A Programming Language), which was developed in the United States in 1962 by Kenneth Iverson. IBM developed PL/1 (Programming Language 1) in the late 1960s for both business and scientific use, and the United States Department of Defense developed ADA (named after for Ada Augusta, countess of Lovelace) in 1981. BASIC (Beginner's All-purpose Symbolic Instruction Code) was developed in 1966 by Dartmouth College professors John Kemeny and Thomas Kurtz as an undergraduate teaching tool. It eventually became the primary language for the personal computer (for a while). In 1971, Swiss professor Nicholas Wirth developed a more structured teaching language that he named Pascal (for French mathematician Blaise Pascal). In 1972, to implement the UNIX operating system, Dennis Ritchie of Bell Laboratories produced a language that he called C. Bjarne Stroustrup of Bell Laboratories developed C++ as an extension of C.
Currently, many high-level languages are nonprocedural; that is, they specify what is to be accomplished without describing how. The first such language, FORTH, was developed in 1970 by American astronomer Charles Moore for use in scientific and industrial control applications. The most advanced languages were created for artificial intelligence research. LISP is one such language; another is PROLOG (PROgramming LOGic), which was developed by French computer scientist Alain Colmerauer and logician Philippe Roussel in the early 1970s in order to program logical processes and produce automatic deductions.
This is the complete article, containing 999 words
(approx. 3 pages at 300 words per page).