Diseñado por | W. Stanley Brown [1] |
---|---|
Revelador | Laboratorios Bell Telephone |
Apareció por primera vez | 1965 |
Influenciado por | |
FORTRAN , PL/I [1] |
ALTRAN (ALgebraic TRANslator) es un lenguaje de programación para la manipulación formal de funciones racionales de varias variables con coeficientes enteros. Fue desarrollado en Bell Labs en la década de 1960. [1] ALTRAN es una versión FORTRAN del paquete de álgebra racional ALPAK , [2] y “puede considerarse como una variante de FORTRAN con la adición de una declaración adicional, la declaración de tipo 'algebraica'”. [3]
Aunque ALTRAN está escrito en ANSI FORTRAN, existen diferencias en las implementaciones de FORTRAN. ALTRAN maneja las dependencias de la máquina mediante el uso de un procesador de macros llamado M6. [1] [4]
ALTRAN no debe confundirse con el traductor de ALGOL a FORTRAN, llamado Altran, que "convierte programas de Algol extendido a Fortran IV". [5]
ALPAK, escrito en 1964, originalmente consistía en un conjunto de subrutinas para FORTRAN escritas en lenguaje ensamblador . Estas subrutinas fueron a su vez reescritas en FORTRAN para ALTRAN. [6]
Una versión temprana de ALTRAN fue desarrollada por M. Douglas McIlroy y W. Stanley Brown a mediados de la década de 1960. [1] Sin embargo, poco después de la finalización de su traductor ALTRAN, las computadoras IBM 7094 , en las que dependían ALPAK y ALTRAN, comenzaron a ser reemplazadas por máquinas más nuevas. Esto condujo al desarrollo de un lenguaje ALTRAN más avanzado y una implementación desarrollada por Brown, Andrew D. Hall, Stephen C. Johnson , Dennis M. Ritchie y Stuart I. Feldman , que era altamente portable. [7] [8] El traductor fue implementado por Ritchie, el intérprete por Hall, las rutinas de funciones racionales y polinomiales en tiempo de ejecución por Feldman, Hall y Johnson, y las rutinas de E/S por Johnson. [1]
Más tarde, Feldman y Julia Ho agregaron un paquete de evaluación de expresiones racionales que generaba subrutinas FORTRAN precisas y eficientes para la evaluación numérica de expresiones simbólicas producidas por ALTRAN. [7]
En 1979, ALTRAN fue trasladado a las computadoras Control Data Corporation 6600 y Cyber 176 en el Laboratorio de Armas de la Fuerza Aérea . Descubrieron que "ALTRAN es aproximadamente 15 veces más rápido que FORMAC en un entorno PL/I , y es al menos 12 veces más rápido que REDUCE ". También se observó que ALTRAN era capaz de resolver rápidamente problemas que ni FORMAC ni REDUCE podían manejar en el hardware dado o en un tiempo razonable. [9]
PROCEDIMIENTO PRINCIPAL # EJEMPLO SIMPLE DE USO DE FTNOUT LONG ALGEBRAIC ( X : 10 , Y : 10 ) F ALTRAN FTNOUT OPTS ( 201 , 72 ) # FTNOUT REQUIERE UNA LONGITUD DE LÍNEA DE 72 F = EXPAND ( ( X + 2 * Y + 1000000 ) ** 3 ) WRITE F # PRINT F WRITE ( 25 ) " FUNCIÓN F(X,Y)" "EJEMPLO DE PROGRAMA ESCRITO CON FTNOUT." , F , " RETURN" ™ , " END" # HEMOS ESCRITO UN PROGRAMA SIMPLE EN LA UNIDAD 25, AHORA INVOCAMOS FTNOUT PARA # ESTA SALIDA ALTRAN A FORTRAN LEGAL. FTNOUT END
Operación | Sintaxis de ALTRAN | Ejemplo sobre polinomios |
---|---|---|
Suma | C = A+B | |
Sustracción | C = A-B | |
Multiplicación | C = A*B | |
División | D = A/B | |
Exponenciación integral | D = A**K | |
Sustitución | G = F(X = P, Y = Q) | |
Diferenciación | G = DIFF(F, Y) | |
Máximo común divisor | D = GCD(A, B) |
Está claro que el grado de portabilidad prometido [de Unix en C] no puede aproximarse al de ALTRAN, por ejemplo, que puede lograrse con quince días de esfuerzo por parte de alguien experto en las condiciones locales pero que desconozca ALTRAN en sí.