SNOBOL 4 (StriNg Oriented symBOlic Language number 4) is the fourth and final incarnation of a series of special purpose programming languages for character string manipulation. These languages were developed between 1962 and 1967 at AT&T Bell Laboratories by D. J. Farber, R. E. Griswold, and F. P. Polensky.
The SNOBOL 4 language supports a number of built-in data types, such as integers and limited precision real numbers, strings, patterns, arrays, and tables, and also allows the programmer to define additional data types and new functions. It stands apart from the mainstream programming languages of that time by having patterns as a first-class data type (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 and alternation. Strings generated during execution can be treated as subprograms and executed.
A SNOBOL 4 pattern can be very simple or extremely complex. A simple pattern is just a text string (e.g. "ABCD"), but a complex pattern may be a large structure describing, for example, the complete grammar of a computer language.
In the 1970s and 1980s, SNOBOL 4 was widely used as a text manipulation language in the humanities. In recent years, it's popularity has faded as newer and more efficient languages such as Awk and Perl have made string manipulation by means of regular expressions popular. SNOBOL 4 is now a special interest language used mainly by enthusiasts.