SNOBOL


SNOBOL ("Lenguaje Simbólico y Orientado a Cadenas") es una serie de lenguajes de programación desarrollados entre 1962 y 1967 en AT&T Bell Laboratories por David J. Farber , Ralph E. Griswold e Ivan P. Polonsky, que culminaron en SNOBOL4. Fue uno de varios lenguajes orientados a cadenas de texto desarrollados durante las décadas de 1950 y 1960; otros incluyeron COMIT y TRAC .

SNOBOL4 se distingue de la mayoría de los lenguajes de programación de su era por tener patrones como un tipo de datos de primera clase ( es decir , un tipo de datos cuyos valores se pueden manipular de todas las formas permitidas para cualquier otro tipo de datos en el lenguaje de programación) y por proporcionar operadores para patrones. concatenación y alternancia . Los patrones de SNOBOL4 son un tipo de objeto y admiten diversas manipulaciones, al igual que los lenguajes orientados a objetos posteriores , como JavaScript , cuyos patrones se conocen como expresiones regulares . Además, las cadenas SNOBOL4 generadas durante la ejecución pueden tratarse como programas e interpretarse o compilarse y ejecutarse (como en el evalfunción de otros idiomas).

SNOBOL4 se enseñó ampliamente en las universidades más grandes de los EE. UU. a fines de la década de 1960 y principios de la de 1970 y se usó ampliamente en las décadas de 1970 y 1980 como un lenguaje de manipulación de texto en las humanidades .

En las décadas de 1980 y 1990, su uso se desvaneció a medida que los lenguajes más nuevos, como AWK y Perl , pusieron de moda la manipulación de cadenas mediante expresiones regulares . Los patrones SNOBOL4 incorporan las gramáticas BNF , que son equivalentes a las gramáticas libres de contexto y más potentes que las expresiones regulares. [2] Las "expresiones regulares" en las versiones actuales de AWK y Perl son, de hecho, extensiones de expresiones regulares en el sentido tradicional , pero las expresiones regulares, a diferencia de los patrones SNOBOL4, no son recursivas, lo que brinda una clara ventaja computacional a los patrones SNOBOL4. [3] (Sin embargo, las expresiones recursivas aparecieron en Perl 5.10, lanzado en diciembre de 2007.[4] [5] )

Los últimos lenguajes SL5 (1977) [6] e Icon (1978) fueron diseñados por Griswold para combinar el retroceso de la coincidencia de patrones SNOBOL4 con una estructuración similar a ALGOL más estándar .

El lenguaje SNOBOL inicial fue creado como una herramienta para ser utilizada por sus autores para trabajar con la manipulación simbólica de polinomios. Fue escrito en lenguaje ensamblador para el IBM 7090 . Tenía una sintaxis simple, solo un tipo de datos, la cadena, sin funciones, sin declaraciones y muy poco control de errores. Sin embargo, a pesar de su sencillez y de su carácter "personal" su uso empezó a extenderse a otros colectivos. Como resultado, los autores decidieron ampliarlo y ordenarlo.