jueves, 17 de octubre de 2013

Snobol

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 y Ivan P. Polonsky.

Historia 

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. 
Fue usado ampliamente durante las décadas de los setenta y ochenta 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.

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.

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.

Tipos de datos 

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.
 

 

 

No hay comentarios:

Publicar un comentario