Assembly Language, in computer science, a type of low-level computer programming language in which each statement corresponds directly to a single machine instruction. Assembly languages are thus specific to a given processor. After writing an assembly language program, the programmer must use the assembler specific to the microprocessor to translate the assembly language into machine code. Assembly language provides precise control of the computer, but assembly language programs written for one type of computer must be rewritten to operate on another type. Assembly language might be used instead of a high-level language for any of three major reasons: speed, control, and preference. Programs written in assembly language usually run faster than those generated by a compiler; use of assembly language lets a programmer interact directly with the hardware (processor, memory, display, and input/output ports).
LISP, in computer science, acronym for List Processing. A list-oriented computerprogramming language developed in 1959-1960 by John McCarthy and used primarily to manipulate lists of data. LISP was a radical departure from the procedural languages (Fortran, ALGOL) then being developed; it is an interpreted language in which every expression is a list of calls to functions. LISP continues to be heavily used in research and academic circles and has long been considered the “standard” language for artificial-intelligence (AI) research, although Prolog has made inroads into that claim in recent years.
PROLOG, in computer science, an acronym for programming in logic, a computer programming language important in the development of artificial intelligence software during the 1970s and 1980s. Unlike traditional programming languages, which process only numerical data and instructions, PROLOG processes symbols and relationships. It is designed to perform search functions that establish relationships within a program. This combination of symbolic processing and logic searching made PROLOG the preferred language during the mid-1980s for creating programs that mimic human behavior.
PROLOG was developed in 1970 at the University of Marseille in France by Alain Colmerauer. Colmerauer believed that traditional computer-programming languages, such as Fortran and COBOL, were inappropriate for representing human logic in a machine. Colmerauer's primary goal was to communicate with computers using conversational language instead of programmer's jargon. He concluded that strict symbolic logic was the appropriate bridge between human and machine.
A PROLOG program is made up of facts and rules that are usually limited to a single domain, such as marine life, accounting, or aircraft maintenance. Once a database is built for that domain, PROLOG searches the database and forms relationships between facts. PROLOG's functions are designed to prove that a proposition is either valid or invalid. This is done by applying logic to the available facts, such as “A hammerhead is a shark” and “Madeline likes all sharks.” Rules are built by combining facts: “Madeline likes X, and X is a shark.” If the program's database identifies certain symbolic entities—such as hammerheads, makos, and great whites—as sharks, then PROLOG can use the rule to determine that Madeline likes hammerheads, makos, and great whites, even though that information was not specifically programmed into the database.
This form of artificial intelligence is valuable in situations in which a fault or malfunction can be specifically identified—as in equipment maintenance and repair—and in cases in which the answers are of the YES/NO or TRUE/FALSE variety. Due to the rigidity of the applied logic, however, PROLOG has difficulty with imprecise data or fuzzy sets.
In the United States the artificial-intelligence community of the late 1970s ignored PROLOG in favor of a competing artificial-intelligence language, LISP, which was developed by John McCarthy at the Massachusetts Institute of Technology in Cambridge, Massachusetts. In Europe, however, PROLOG captured the interest of researchers and by the mid-1980s it became the preferred language for building expert systems. In 1981, when the Japanese government initiated a national project to develop commercial artificial intelligence, it adopted PROLOG as its standard programming language.
Many of the features that were once unique to PROLOG are now used in modern object-oriented programming, a programming technique that is becoming the standard for software development.
Object-Oriented Programming (OOP), in computer science, type of high-level computer language that uses self-contained, modular instruction sets for defining and manipulating aspects of a computer program. These discrete, pre-defined instruction sets are called objects and may be used to define variables, data structures, and procedures for executing data operations. In OOP, objects have built-in rules for communicating with one another. They can also be manipulated or combined in various ways to modify existing programs and to create entirely new ones from pieces of other programs. See also Computer Program, Programming Language.
One especially powerful feature of OOP languages is a property known as inheritance. Inheritance allows an object to take on the characteristics and functions of other objects to which it is functionally connected. Programmers connect objects by grouping them together in different classes and by grouping the classes into hierarchies. These classes and hierarchies allow programmers to define the characteristics and functions of objects without needing to repeat source code, the coded instructions in a program. Thus, using OOP languages can greatly reduce the time it takes for a programmer to write an application, and also reduce the size of the program. OOP languages are flexible and adaptable, so programs or parts of programs can be used for more than one task. Programs written with OOP languages are generally shorter in length and contain fewer bugs, or mistakes, than those written with non-OOP languages.
The first OOP language was Smalltalk, developed by Alan Kay at the Palo Alto Research Center of the Xerox Corporation in the early 1970s. By using objects, Smalltalk allowed programmers to focus on and specify the task to be performed from the top down, rather than laboring on detailed, ground-up procedures, which were embedded in the language structure. Smalltalk, however, has not found widespread use.
The most popular OOP language is C++, developed by BjarneStroustrup at Bell Laboratories in the early 1980s. In May 1995 Sun Microsystems, Inc. released Java, a new OOP language, which has drawn worldwide interest. In some ways Java represents a simplified version of C++, but it adds other features and capabilities as well, and is particularly well suited for writing interactive applications to be used on the World Wide Web.
Ada, in computer science, a procedural programming language designed under the direction of the U.S. Department of Defense (DOD) in the late 1970s and intended to be the primary language for DOD software development. Ada, named after (Augusta) Ada Byron, Countess of Lovelace, who was a pioneer in the field of computers, was derived from Pascal but has major semantic and syntactical extensions, including concurrent execution of tasks, overloading of operators, and modules.
Java (computer), in computer science, object-oriented programming language introduced in 1995 by Sun Microsystems, Inc. Java facilitates the distribution of both data and small applications programs, called applets, over the Internet. Java applications do not interact directly with a computer’s central processing unit (CPU) or operating system and are therefore platform independent, meaning that they can run on any type of personal computer, workstation, or mainframe computer. This cross-platform capability, referred to as “write once, run everywhere,” has caught the attention of many software developers and users. With Java, software developers can write applications that will run on otherwise incompatible operating systems such as Windows, the Macintosh operating system, OS/2, or UNIX.
To use a Java applet on the World Wide Web (WWW)—the system of software and protocols that allows multimedia documents to be viewed on the Internet—a user must have a Java-compatible browser, such as Navigator from Netscape Communications Corporation, Internet Explorer from Microsoft Corporation, or HotJava from Sun Microsystems. A browser is a software program that allows the user to view text, photographs, graphics, illustrations, and animations on the WWW. Java applets achieve platform independence through the use of a virtual machine, a special program within the browser software that interprets the bytecode—the code that the applet is written in—for the computer’s CPU. The virtual machine is able to translate the platform-independent bytecode into the platform-dependent machine code that a specific computer’s CPU understands.
Applications written in Java are usually embedded in Web pages, or documents, and can be run by clicking on them with a mouse. When an applet is run from a Web page, a copy of the application program is sent to the user’s computer over the Internet and stored in the computer’s main memory. The advantage of this method is that once an applet has been downloaded, it can be interacted with in real time by the user. This is in contrast to other programming languages used to write Web documents and interactive programs, in which the document or program is run from the server computer. The problem with running software from a server is that it generally cannot be run in real time due to limitations in network or modem bandwidth—the amount of data that can be transmitted in a certain amount of time.
Java grew out of a research project at Sun Microsystems in the early 1990s that focused on controlling different consumer electronics devices using the same software. The original version of Java, called Oak, needed to be simple enough to function with the modest microprocessors found in such consumer devices. Following the introduction of the National Center for Supercomputing Applications’ (NCSA) Mosaic browser in 1993, Oak was recast by Sun Microsystems developers. In 1994 Sun Microsystems released a Java-compatible Internet browser, called HotJava, that was designed to read and execute Java applets on the WWW. Netscape Communications licensed Java from Sun Microsystems in November 1995, and its Navigator 3.0 browser supports Java applications. Microsoft also licensed Java, in 1996, for its Internet Explorer 3.0 browser. Microsoft developed a programming language, called Visual J++, to integrate Java, through its ActiveX technology, with its browser. Visual J++ is optimized for the Windows operating system. Various other WWW browsers are also capable of supporting Java applications and applets.
JavaSoft, a division of Sun Microsystems with responsibility for Java and its business development, has created JavaOS, a compact operating system for use on its own JavaStation network computers, now in development, as well as, possibly, in cellular telephones and pagers.