# Snobol

SNOBOL és un llenguatge de programació de molt alt nivell que va sorgir l'any 1962 als Laboratoris AT&T Bell, en l'equip de treball dirigit per D. J. Farber, R. E. Griswold y F. P. Polensky.
SNOBOL és l'acrònim en anglès de StriNg Oriented symBOlic Language, que podríem traduir al català per: Llenguatge Simbòlic Orientat a les Cadenes de Caràcters.
Durant les dècades dels cinquanta i dels seixanta del segle vint, hi va haver un important interès en llenguatges de programació de propòsit especial. Snobol va ser un dels llenguatges de programació orientats a les cadenes de text més exitosos.
SNOBOL va ser utilitzat àmpliament durant les dècades dels setanta i vuitanta del segle vint (1970s i 1980s) com un llenguatge de manipulació de text en les disciplines humanístiques, però en anys més recents la seva popularitat ha minvat, sobretot després de l'aparició de nous llenguatges com Awk o el Perl, que han aplicat l'ús de les expressions regulars per a la manipulació de cadenes de caràcters. Actualment és utilitzat pels aficionats, però difícilment se'n poden veure implementacions recents. La implementació clàssica va ser la PDP-10 i s'ha utilitzat per a l'estudi de teoria dels compiladors, gramàtiques formals i intel·ligència artificial (especialment els camps de la traducció i comprensió automàtica de llenguatges naturals). La implementació original va ser en un computador IBM 7090 en els laboratoris AT&T Bell a Holmdel, N.J. SNOBOL va ser dissenyat expressament per a ser portable, de manera que ràpidament va ser exportat a altres plataformes. Queda per comprovar el que es diu respecte que l'algorisme de coincidència de patrons de cerca d'SNOBOL és superior al de les expressions regulars, de manera que programes ben escrits i compilats utilitzant la implementació SPITBOL de l'SNOBOL4 són de l'ordre de 10 o més vegades més ràpids en la seva execució que els equivalents escrits en Perl.
SNOBOL originalment es va anomenar SEXI, de l'acrònim en anglès StriNg EXpression Interpreter, que en català podria ser traduït com: Intèrpret d'Expressions de Cadenes de Caràcters.
La versió SNOBOL4 és la quarta i més recent encarnació d'una sèrie de llenguatges de programació de propòsit especial dedicats a la manipulació de cadenes de caràcters.
SNOBOL4 suporta una quantitat important de tipus de dades tals com: enters, nombres reals de precisió limitada, cadenes de caràcters, patrons de cerca, matrius i taules, així com la capacitat de permetre al programador definir els seus propis tipus de dades addicionals i noves funcions.
Un patró de cerca d'SNOBOL pot ser molt simple o extremadament complicat. Un exemple de patró pot ser una simple cadena de caràcters (p. ex. "abcd"), i un exemple de patró complex pot ser una gran estructura que descrigui la gramàtica completa d'un llenguatge de programació.
SNOBOL ofereix al programador una àmplia varietat de característiques algunes d'elles molt exòtiques. Per exemple, es permet al programador utilitzar SNOBOL com si fos un llenguatge de programació orientat a objectes, un llenguatge de programació lògica, un llenguatge de programació funcional o un llenguatge de programació imperativa, simplement canviant el conjunt de característiques utilitzades per a escriure un programa. També concatena cadenes que estiguin una al costat de l'altra en una sentència, i manté les cadenes en un heap de memòria alliberant així els programadors de les preocupacions del tractament de les assignacions de memòria.
Normalment s'implementa com un intèrpret a causa de les dificultats d'implementar algunes de les seves característiques de molt alt nivell. No obstant això, hi ha un compilador, anomenat SPITBOL compiler, que proveeix de gairebé totes les característiques de la versió interpretada.
Com a descendent de l'SNOBOL va aparèixer el llenguatge de programació Icon.

## Bibliografia

* Griswold, Ralph E., J. F. Poage, and I. P. Polensky. The SNOBOL 4 Programming Language. Englewood Cliffs, NJ: Prentice Hall, 1968 (ISBN 0-13-815373-6).
* Hockey, Susan M. Snobol Programming for the Humanities. New York: Clarendon Press; Oxford: Oxford University Press, 1985 (ISBN 0-19-824676-5).

## Enllaços externs

* Pàgina d'aspectes diversos sobre SNOBOL, de Phil Budne Arxivat 2020-02-28 a Wayback Machine.
* Història de l'SNOBOL4 Arxivat 2007-10-10 a Wayback Machine.
* Categoria del projecte Directori Obert 'Open Directory' per a Snobol
* Catspaw, Inc. ofereix implementacions i suport per a SNOBOL4