- Tech know how online

list processing language (LISP)

Of all higher programming languages, LISP (List Processing Language) is the second oldest programming language. Only Fortran is older than Lisp. The basic ideas of Lisp were developed from the year 1956 by John McCarthy at the MIT in Cambridge. The first implementations and tests were done in 1958-1962 on an IBM machine. At that time it was often discussed whether Lisp or Fortran should become the first higher programming language.

The at that time very expensive core memories and the at first beginning mainly numeric use of the computers led to the decision in favor of Fortran, which should prove to be correct in the following decades. The direct addressing, static memory allocation etc. in Fortran allowed not only an economical use of the core memory, but also brought a higher efficiency in relation to the computing speed.

The development of LISP

After IBM and thereafter almost all companies relied on Fortran, Lisp continued to develop only at universities, especially at MIT and at Stanford University. In 1962 a Lisp translator and the manual by John McCarthy "Lisp 1.5 Programmers Manual" were finally available to the public.

Beginning with these first implementations and also for many years thereafter one had relied on the so-called "pure Lisp". The "pure Lisp" was completely free of side effects. Essentially it is about the fact that no unwanted changes of other values occur during the evaluation of the programmed expressions. In addition one had renounced the loops, DO loops or the like usual in other higher languages and tried to get along with recursions alone. However, these two and some other ideas were then partially abandoned.

Lisp is something quite different compared to other higher level languages of the time mentioned. While static data management predominates in most higher level languages, in Lisp data is mainly stored dynamically or in batches, allowing almost arbitrary expansion offiles even while programs are running. In Lisp, both programs and data are lists. The elements of the lists are either further lists or atoms as smallest semantic elements. The language processes primarily symbolic expressions. It has many and quite efficient functions for processing lists.

The syntax and semantics of LISP

Lisp has a very flexible syntax and semantics, which facilitates or even enables the programming of complicated processes, e.g. in the context of artificial intelligence( AI). Thus, this language developed in parallel with the efforts of universities and companies in the U.S. to realize intelligent software. In subsequent years, there were numerous implementations of Lisp, but they were not very compatible with each other. Thus today more than a dozen Lisp dialects are known. There were also more and more deviations from some principles of "pure Lisp", mainly for reasons of practicability and computational efficiency. The many, quite different implementations promoted the development of Lisp, but at the same time hindered the spread of the language.

Because of the large number of Lisp dialects, an extensive project was taken up in the USA in the late 1980s with the goal of standardizing Lisp to a large extent. The result is Common-Lisp, which formed the basis for the later extension to Common Lisp Object System( CLOS) - with the then realized possibility of object-oriented programming.

Englisch: list processing language - LISP
Updated at: 09.11.2013
#Words: 535
Links: second (s), programming language (PL), management information tree (MIT), addressing, memory
Translations: DE

All rights reserved DATACOM Buchverlag GmbH © 2024