Snobol
SNOBOL | ||
---|---|---|
Desarrollador(es) | ||
David J. Farber, Ralph E. Griswold, Ivan P. Polonsky y Laboratorios Bell http://www.snobol4.org | ||
Informaci�n general | ||
Paradigma | Multiparadigma, orientado a objetos, funcional, l�gico | |
Apareci� en | 1962 | |
Dise�ado por | David J. Farber, Ralph E. Griswold e Ivan P. Polonsky | |
Implementaciones | SNOBOL, SPITBOL | |
Influido por | SPITBOL | |
Ha influido a | Icon programming language, Unicon programming language | |
SNOBOL (StriNg Oriented symBOlic Language) es un lenguaje de programaci�n de computadoras de muy alto nivel que surgi� en la d�cada de los 60 en los Laboratorios Bell merced al equipo formado por David J. Farber, Ralph E. Griswold e Ivan P. Polonsky.
Historia
[editar]Durante las d�cadas de los cincuenta y sesenta del siglo veinte hab�a un importante inter�s en lenguajes de programaci�n de computadoras de prop�sito especial. SNOBOL fue uno m�s de los lenguajes orientados a cadenas de texto y de entre ellos uno de los m�s exitosos. (v.g.: COMIT y TRAC).
Fue usado ampliamente durante las d�cadas de los setenta y ochenta del siglo veinte como un lenguaje de manipulaci�n de texto en las disciplinas human�sticas, pero, en a�os recientes su popularidad se ha desvanecido merced a que lenguajes nuevos tales como AWK y Perl han hecho popular la manipulaci�n de cadenas usando expresiones regulares; ahora es usado principalmente por aficionados siendo raro ver implementaciones recientes.
La implementaci�n cl�sica fue en la PDP-10 y se ha usado para estudiar compiladores, gram�ticas formales e inteligencia artificial, en particular traducci�n autom�tica y comprensi�n autom�tica de lenguajes naturales. La implementaci�n original fue en una IBM 7090 en los Laboratorios Bell en Holmdel, Nueva Jersey. Fue dise�ado expresamente para la portabilidad as� que fue r�pidamente exportado a otras plataformas.
Queda por comprobar lo que se dice al respecto de que el algoritmo de coincidencia de patrones de b�squeda es superior al de las expresiones regulares de modo que programas bien escritos y compilados usando la implementaci�n SPITBOL del SNOBOL4 son del orden de 10 o m�s veces m�s r�pidos en su ejecuci�n que los equivalentes escritos en Perl. Se llamaba originalmente "SEXI" (StriNg EXpression Interpreter), que en espa�ol es algo as� como: Int�rprete de Expresiones de Cadenas. La versi�n SNOBOL4 es la cuarta y m�s reciente encarnaci�n de una serie de lenguajes de programaci�n de computadoras para el prop�sito especial de manipulaci�n de cadenas de caracteres.
SNOBOL4 soporta una cantidad importante de tipos de datos tales como: enteros, n�meros reales de precisi�n limitada, cadenas de texto, patrones de b�squeda, arreglos y tablas as� como la capacidad de permitir al programador definir tipos de datos adicionales y nuevas funciones (esta �ltima caracter�stica fue avanzada para su �poca adem�s de parecerse y de que precede a los 'records' del Pascal o los 'structs' del C).
Sobresale de entre los lenguajes de programaci�n m�s famosos de su tiempo por usar los patrones de b�squeda como un tipo de datos nativo al lenguaje y por proveer operadores para concatenaci�n de patrones y alternaci�n, adem�s de que las cadenas generadas durante la ejecuci�n pueden ser tratadas como programas que pueden a su vez ser ejecutados. Un patr�n de b�squeda puede ser muy simple o extremadamente complicado. Un ejemplo de patr�n simple puede ser una cadena de texto (v.g.: "ABCD"), y un ejemplo de patr�n complicado puede ser una gran estructura que describa la gram�tica completa de un lenguaje de programaci�n de computadoras.
Ofrece al programador una amplia variedad de caracter�sticas incluyendo algunas muy ex�ticas, de ah� que se pueda usar como si fuera un lenguaje orientado a objetos, un lenguaje de programaci�n l�gica, un lenguaje de programaci�n funcional o un lenguaje de programaci�n imperativa cambiando el conjunto de caracter�sticas usadas para escribir un programa. Tambi�n concatena cadenas que est�n una junto a la otra en una sentencia y mantiene las cadenas en un mont�culo de memoria liberando as� a los programadores de preocupaciones tales como asignaci�n de memoria y manejo de cadenas.
Se implementa normalmente como un int�rprete debido a las dificultades para instrumentar algunas de sus caracter�sticas de muy alto nivel, pero hay un compilador, el SPITBOL, que provee casi todas las caracter�sticas que la versi�n interpretada. El lenguaje de programaci�n de computadoras Icon es un descendiente de SNOBOL4.
Ejemplo
[editar]OUTPUT = 'Hola Mundo!' END
Bibliograf�a
[editar]- 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).