next up previous
Next: LOS PROGRAMAS DE APLICACIÓN Up: LA HISTORIA DEL SOFTWARE Previous: LOS SISTEMAS OPERATIVOS

LENGUAJES DE PROGRAMACIÓN

Dependiendo del criterio que uno admite para calificarlos, existen cientos o miles de lenguajes de programación. Las formas de operación de los programas que emplean a los lenguajes de programación amplian la variedad, pero a la vez ofrecen una clasificación en ensambladores, interpretadores y compiladores.


Entre los programas que emplean lenguajes de programación, los más elementales son los ensambladores, ya que ofrecen al programador un modelo riguroso de la máquina. En ellos se emplean mnemónicos, abreviaturas simbólicas, para cada una de las instrucciones de la máquina y desde ellos, están disponibles para el programador todos los recursos del equipo en su nivel más elemental. Los programas que se encargan de la traducción, se limitan a realizar una correspondencia uno a uno entre los mnemónicos y las instrucciones de máquina.


Los interpretadores utilizan lenguajes, también simbólicos, pero en este caso, cada símbolo tiene una función asociada por el interprete con esta modalidad, el interpretador puede prever las consecuencias de la operación antes de realizarla y emitir, en su caso, diagnósticos para beneficio del usuario. Las operaciones asociadas a cada símbolo no están confinadas a las operaciones disponibles en la máquina, pueden ser instrucciones de otra máquina y de cualquier nivel de complejidad y elaboración.


Los compiladores realizan la traducción de programas desde un lenguaje hasta otro. Las naturalezas de los lenguajes fuente y destino son en principio diferentes. Generalmente, el lenguaje destino es el lenguaje de la máquina o el ensamblador. Es el caso de los compiladores de Fortran que traducen los programas que están descritos por el programador en términos de un lenguaje algebraico y con el empleo de matrices. Rigurosamente, Fortran no fue el primero de los esfuerzos en esta dirección, hubo antes otros como el MAD (Michigan Algebraic Decoder), fue el esfuerzo unificador de la IBM que condujo al Fortran.


Con el empleo de los lenguajes de programación, los usuarios no requieren conocer en detalle las características de la computadora para hacer sus computaciones en gran escala. En la actualidad hay tantos lenguajes de programación que nos limitaremos a hacer algunos comentarios sobre los más conocidos.


Fortran, Algol, Pascal, Ada y Modula, representan una cadena de lenguajes con un origen común, permitir la descripción de computaciones numéricas con el empleo de notaciones algebraicas y matriciales, cada eslabón de la cadena aporta nuevos elementos, la mayor de las veces triviales, pero en la cadena se observa una tendencia muy señalada consistente en que cada vez es más rigurosa la especificación de los tipos de datos que se emplean en los programas.


Algol pretendió ser más un lenguaje matemático para describir algoritmos, que un lenguaje de programación. Introdujo los principios de la estructuración, descomponiendo el programa en procedimientos y poniendo énfasis en las formas de transmisión de argumentos del programa a los procedimientos secundarios. Para obtener independencia de las particularidades de la entrada y salida de cada equipo, no estableciendo especificaciones sobre estos aspectos.


PASCAL por su parte, acentúo la estructuración de los programas, para ello prescribió el uso de las transferencias incondicionales, limitando las formas de control a las estructuras DO-WHILE e IF-THEN-ELSE, con lo que obligó al usuario a organizar sus programas, simplificando su desarrollo, depuración y mantenimiento.


Fortran, Basic, Pascal, en esta serie de lenguajes. También con un origen común, el énfasis que se observa consiste en ofrecer una mayor independencia en las especificaciones de entrada y salida, en mejores facilidades para el manejo de textos en los programas, un empleo interactivo del lenguaje, así como una acusada simplificación en la presentación de los resultados.


Específicamente, Basic eliminó las tediosas especificaciones de formato, indispensables en Fortran, para la presentación de los resultados.


También hubo lenguajes que enfatizaron tanto la especificación de los datos, que llegaron al extremo de no solo ofrecer datos numéricos y textos, sino también de integrarles una estructura.


Tal es el caso de ``C'', Alpha-Basic (una variante de Basic para los equipos Alpha-Micro), e inclusive COBOL, que se orientó más a ambientes administrativos que a los de la ingeniería, por lo que su aritmética fue muy limitada.


Algunos de los lenguajes, introdujeron características muy especializadas, tal es el caso de COBOL, que con su enfoque administrativo, incorporó una excelente colección de subrutinas para el manejo y la organización de fuertes volúmenes de datos alfanuméricos, entre ellas el ISAM (Indexed Sequential Access Method) que establecieron los fundamentos para los manejadores de bases de datos.


Y también el de ``C'', que pretendió utilizar el lenguaje de máquina de la PDP-11 de DEC, como lenguaje de alto nivel.


Al margen de toda esta colección de lenguajes en los que el cálculo numérico juega el papel central, surgen otros lenguajes, los clasificados como no numéricos, que se caracterizaron por su énfasis en el manejo de cadenas de carácteres, la edición de textos, el reconocimientos de patrones y la propiedad de que el programa fuente es de la misma naturaleza que los datos que manejan.


Por su enfoque diferente, este tipo de lenguajes se utilizó en aplicaciones menos convencionales, como lo son la compilación de lenguajes y para los estudios y desarrollos realizados en el terreno de la inteligencia artificial. Sobresalen entre ellos LISP para el manejo de listas; COMIT y SNOBOL en el reconocimiento de patrones. Más adelante, se agregan IPL V y PROLOG.


Por su naturaleza, los lenguajes no numéricos enfrentaron en sus inicios problemas con la velocidad de los equipos y las capacidades de sus memorias. Por esto, su desarrollo registró una pausa aunque en fechas recientes, con el apoyo de los nuevos equipos, han recibido un nuevo impulso.


Si bien los primeros resultados en este campo fueron poco convincentes: programas de juego decepcionantes, sistemas rígidos de traducción, y demostraciones de teoremas triviales; el nuevo período ha ofrecido resultados sumamente interesantes, entre los que podemos citar a los sistemas expertos.


Estos sistemas expertos, además de organizar considerables volúmenes de datos y reducirlos a través de operaciones lógicas, realizan ya inferencias elementales. Orientados a la geología, la medicina y al diagnóstico en general, se perfilan como consejeros capaces de emitir juicios.


Uno de los éxitos más sonados y que mayor controversia ha despertado, es la inferencia que realizó un sistema experto en 1982, el Prospector que permitió identificar un filón de molibdeno, en un sitio en donde nadie lo habría imaginado.


next up previous
Next: LOS PROGRAMAS DE APLICACIÓN Up: LA HISTORIA DEL SOFTWARE Previous: LOS SISTEMAS OPERATIVOS
Microcomputadoras
2000-12-12