SNOBOL
Overview
 
SNOBOL is a generic name for the computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

 programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s developed between 1962 and 1967 at AT&T
AT&T
AT&T Inc. is an American multinational telecommunications corporation headquartered in Whitacre Tower, Dallas, Texas, United States. It is the largest provider of mobile telephony and fixed telephony in the United States, and is also a provider of broadband and subscription television services...

 Bell Laboratories by David J. Farber
David J. Farber
David J. "Dave" Farber is a professor of Computer Science, noted for his major contributions to programming languages and computer networking. He is currently Distinguished Career Professor of Computer Science and Public Policy at the School of Computer Science, Heinz College, and Department of...

, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of a number of text-string-oriented languages developed during the 1950s and 1960s; others included COMIT
COMIT
COMIT was the first string processing language , developed on the IBM 700/7000 series computers by Dr. Victor Yngve and collaborators at MIT from 1957-1965. Yngve created the language for supporting computerized research in the field of linguistics, and more specifically, the area of machine...

 and TRAC.

SNOBOL4 stands apart from most programming languages by having patterns as a first-class data type
First-class object
In programming language design, a first-class citizen , in the context of a particular programming language, is an entity that can be constructed at run-time, passed as a parameter, returned from a subroutine, or assigned into a variable...

 (i.e. a data type whose values can be manipulated in all ways permitted to any other data type in the programming language) and by providing operators for pattern concatenation
Concatenation
In computer programming, string concatenation is the operation of joining two character strings end-to-end. For example, the strings "snow" and "ball" may be concatenated to give "snowball"...

 and alternation.
 
x
OK