Elementos fundamentales de los lenguajes del computador (1997)
El presente trabajo, tiene como objetivo el estudio de los lenguajes de programación y modelamiento de software. No siendo posible estudiar cada uno de los lenguajes de forma particular (lo que tomaría años) se ha optado por llevar a cabo un estudio comparativo de los lenguajes con base en el reconocimiento de sus elementos comunes y de sus diferencias. A este fin se ha efectuado un reconocimiento de los principales componentes de los lenguajes, vistos como unidades discretas (v.g. sus “tipos de dato”, “operadores”, “literales”, “instrucciones”, “construcciones visuales”, etc..) y a ellos se les ha asociado uno o varios “significados”. Estos significados conforman los “elementos fundamentales” de los lenguajes. La multiplicidad de los lenguajes es manejada, por este mecanismo, proyectando los múltiples componentes de los lenguajes, a un conjunto mucho mas reducido de elementos. Así pues, múltiples componentes de uno o varios lenguajes significarán lo mismo (tendrán igual “semántica”), y un elemento de significado podrá ser expresado de múltiples maneras (adoptará formas diferentes bajo diferentes “sintaxis”) . La expectativa de esta manera de abordar el problema, es la de que, con el estudio de un conjunto relativamente pequeño de elementos fundamentales, el lector pueda “entender” una gama muy amplia de lenguajes de programación. Entendiendo por “entender el lenguaje” como el tener la capacidad de utilizar estos lenguajes para crear programas, luego de un estudio relativamente corto de las formas sintácticas con que se expresan los elementos fundamentales que lo conforman. Esto presupone que la escritura de los programas se basa es en el conocimiento y manipulación de los elementos fundamentales (y de su significado frente al problema que se quiere resolver ), mas bien que en la manipulación de las formas sintácticas que dichos elementos toman en un lenguaje particular. La búsqueda de los “elementos fundamentales de los lenguajes”, ha conducido a una concepción muy simplificada de los lenguajes en conjunto, en la que una serie de principios básicos cognitivos (“agregación”, “modularización”, ”relación”, “definición” y “abstracción”), orientan la definición de un conjunto de construcciones de los lenguajes (“términos”, “instrucciones”, “aserciones”, “procedures”, “subroutinas”, “construcciones visuales”, “estructuras de datos”, “relaciones”, “objetos” etc..), que tienen, o implementan, uno o varios significados definidos. El significado de estas construcciones se relaciona con la necesidad de proveer mecanismos para que, a partir de unos operadores, datos y tipos elementales, el usuario del lenguaje pueda construir operadores, datos y tipos mas complejos. El estudio de estos significados y las construcciones que los implementan, constituye el objeto de estudio del trabajo. La estructura del trabajo se ajusta, además, a la idea que el autor tiene, en el momento, de dichos elementos fundamentales. La Parte I, presenta los conceptos básicos del trabajo. La parte II, presenta un conjunto de operadores básicos, situándose en el nivel de los lenguajes de 3ª generación. La Parte III, presenta las construcciones para definir operadores complejos. La Parte IV, presenta las construcciones para definir operandos complejos. Y la Parte V, presenta las construcciones para definir tipos complejos. A continuación se indica la estructura y contenido de las diferentes partes del trabajo