Main Page | See live article | Alphabetical index

Free-form language

In computer programming, a free-form language is a programming language in which the positioning of characters on the page in program text is not significant. Program text does not need to be placed in specific columns as on old punched card systems, and frequently ends of lines are not significant. Whitespace is used to delimit tokens, and does not have other significance.

Most free-form languages descend from Algol, including C, Pascal, and Perl. These are also structured programming languages, which is sometimes thought to go along with the free-form syntax: Earlier imperative programming languages such as Fortran used particular columns for line numbers, which structured languages don't use or need. Lisp languages are also free-form, although they do not descend from Algol.

One recent language which has abandoned parts of the free-form idiom is Python, which uses indentation with whitespace to delimit program blocks. Some critics regard this as a throwback, and find Python text harder to read and edit as it lacks the obvious punctuation of C or Pascal. Python aficionados, however, find that it improves readability: since indentation is commonly used in structured languages to make block structure visible, Python's use of whitespace ensures that the two are consistent.

See also