El FORTRAN (previamente FORTRAN del ) es un de fines generales, procesal, el lenguaje de programación imprescindible que se adapta especialmente al cómputo numérico y al computacional científico. Convertido original por IBM en los años 50 para los usos científicos y de la ingeniería, FORTRAN vino dominar esta área de la programación a principios de y ha estado en el uso continuo para encima el medio siglo en áreas de cómputo intensivas tales como clima el modelado de, del análisis de elemento finito, de la dinámica flúida de cómputo (CFD), de la física de cómputo, de la computación financiera, y de la química de cómputo .

El FORTRAN (una baúl de viaje derivó de el matemático de IBM para el sistema slating de Tran de Mula) abarca un linaje de las versiones, que se desarrollaron para agregar extensiones a la lengua mientras que conservaban compatibilidad con las versiones previas. Las versiones sucesivas han agregado la ayuda para procesar de los datos carácter-basados (FORTRAN 77 ), del arsenal que programaba, programado módulo-basado y Objeto-han basado programado ( 90 / 95 del FORTRAN), y el orientado al objeto y el programado genérico (FORTRAN 2003).

Historia

En finales de 1953, el Juan W. Backus sometió una oferta a sus superiores en el IBM para desarrollar una alternativa más eficiente a de lenguaje de ensamblaje para programar su ordenador central de IBM 704 . Una especificación del bosquejo para el la fórmula matemática de IBM que traducía el sistema fue terminada por mid-1954. El primer manual para el FORTRAN apareció en octubre de 1956, con el primer recopilador del FORTRAN entregado en abril de 1957. Esto era un recopilador de optimización, porque los clientes eran renuentes utilizar un lenguaje el de programación de alto nivel a menos que su recopilador podría generar el código cuyo funcionamiento era comparable a el mano-cifrado de lenguaje de ensamblaje.

Mientras que la comunidad era escéptica que este nuevo método podría superar posiblemente la mano-codificación, redujo la cantidad de declaraciones de programación necesarias funcionar una máquina por un factor de 20, y ganó rápidamente la aceptación. El creador dicho Juan Backus durante una entrevista 1979 con piensa, el compartimiento de empleado de IBM, " Mucho de mi trabajo ha venido de ser perezoso. No tuve gusto de los programas de la escritura, y por eso, cuando trabajaba en IBM 701 (una computadora temprana), escribiendo los programas para computar trayectoria del misil, comencé el trabajo sobre un sistema de programación para hacerlo más fácil escribir programs."

La lengua fue adoptada extensamente por los científicos para escribir numéricamente los programas intensivos, que animaron a escritores de recopilador a producir los recopiladores que podrían generar un código más rápido y más eficiente. La inclusión de un tipo de datos del número complejo en la lengua hizo el FORTRAN adecuado especialmente a los usos técnicos tales como ingeniería eléctrica.

Antes de 1960, las versiones del FORTRAN estaban disponibles para el 709 de IBM, el 650, el 1620, y las computadoras 7090 . Perceptiblemente, el renombre cada vez mayor del FORTRAN estimuló a fabricantes de computadora competentes a proporcionar los recopiladores de FORTRAN para sus máquinas, de modo que por 1963 sobre 40 recopiladores de FORTRAN existiera. ¡Por estas razones, el FORTRAN se considera ser el primer ampliamente utilizado lenguaje de programación apoyado a través de una variedad de arquitecturas de computadora.

El desarrollo del FORTRAN fue paralelo a la evolución temprana de la tecnología del recopilador; de hecho muchos avances en la teoría y el diseño de los recopiladores fueron motivados específicamente por la necesidad de generar el código eficiente para los programas de FORTRAN.

FORTRAN

El lanzamiento inicial del FORTRAN para IBM 704 contuvo 32 declaraciones, incluyendo:

DIMENSION y declaraciones de EQUIVALENCE
Declaraciones de asignación
Declaración aritmética del de tres vías IF.
declaraciones de IF para comprobar las excepciones (ACCUMULATOR OVERFLOW, QUOTIENT OVERFLOW, y DIVIDE CHECK); y declaraciones de IF para los interruptores de sentido y las luces de sentido de manipulación
GOTO, GOTO computado, ASSIGN, y GOTO asignado
lazos de DO
Entrada-salida formatada: FORMAT, READ, ENTRADA TAPE del READ, WRITE, SALIDA TAPE del WRITE, PRINT, y PUNCH
Entrada-salida sin formato: READ TAPE, READ DRUM, WRITE TAPE, y WRITE DRUM
La otra entrada-salida: END FILE, REWIND, y BACKSPACE
PAUSE, STOP, y CONTINUE
declaración de FREQUENCY (para proporcionar indirectas de la optimización al recopilador)

FORTRAN II

El FORTRAN II del de IBM apareció en 1958. El realce principal era apoyar el programado procesal permitiendo subrutinas y funciones user-written. Seis nuevas declaraciones fueron introducidas:

SUBROUTINE, FUNCTION, y END
CALL y RETURN
COMMON

Durante los próximos años, el FORTRAN II también agregaría la ayuda para el los tipos de datos DE PRECISIÓN DOBLE de y de COMPLEX.

Programa simple del FORTRAN II

Este programa, para la fórmula de la garza, tiene una entrada de tarjeta de datos, con cero-datos simples corrige el cheque. Si uno de los valores de la entrada es cero, después el programa terminará con un código de error del " PARAR 1" en el listado de tarjeta de control de trabajo que sigue la ejecución del programa. La salida normal será una línea impresa con A, B, C, y ÁREA en el " report" la página después de la compilación sin unidades específicas se indica; y con un " normal; STOP" en el listado de la tarjeta de trabajo.
 ÁREA DE C DE UN TRIÁNGULO CON UNA FUNCIÓN DE RAÍZ CUADRADA ESTÁNDAR C ENTRADA - UNIDAD DE LECTOR DE TARJETAS 5, ENTRADA DEL NÚMERO ENTERO C HECHA SALIR - LÍNEA UNIDAD DE IMPRESORA 6, SALIDA VERDADERA CÓDIGO DE SALIDA DE ERROR DEL ERROR DISPAY DE LA ENTRADA DE C 1 EN EL LISTADO DEL CONTROL DE TRABAJO  NÚMERO ENTERO A, B, C  (5.501) A LEÍDA, B, C FORMATO 501 (3I5) C A, B, Y C PUEDE NO SER NEGATIVA C ADEMÁS, LA SUMA DE DOS LADOS DE UN TRIÁNGULO C ES MAYOR QUE EL TERCER LADO, ASÍ QUE COMPROBAMOS PARA SABER SI HAY ÉSE, TAMBIÉN  SI (A.0) PARADA 1  SI ((A+B . A)) PARADA 1 C USAR LA FÓRMULA DE LA GARZA CALCULAMOS ÁREA DE C DEL TRIÁNGULO  S = (A + B + C)/2.0  ÁREA = raíz cuadrada (S * (S - A) * (S - B) * (S - C))  ESCRIBIR (6.601) A, B, C, ÁREA FORMATO 601 (UNIDADES AREA=, F10.2, 12HSQUARE de 4H A=, de I5,5H B=, de I5,5H C=, de I5,8H)  PARADA  EXTREMO 

FORTRAN III

IBM también desarrolló un FORTRAN III del en 1958 que permitió código ensamblador en línea entre otras características; sin embargo, esta versión nunca fue lanzada como producto. Como los 704 FORTRAN y FORTRAN II, el FORTRAN III incluyó las características máquina-dependientes que hicieron el código escrito en él unportable de la máquina a la máquina. Las versiones tempranas del FORTRAN proporcionaron por los otros proveedores sufridos de la misma desventaja.

FORTRAN IV

Comenzando en el 1961, como resultado de demandas de cliente, IBM comenzó el desarrollo de un FORTRAN IV del que quitó las características máquina-dependientes de FORTRAN II (tal como READ ENTRAR TAPE), mientras que agrega nuevas características tales como un tipo de datos de LOGICAL, las expresiones boleanas lógico y el lógico SI la declaración como alternativa a la aritmética del SI declaración. El FORTRAN IV de fue lanzado eventual en 1962, primero para el IBM 7030 (" Stretch") computadora, seguida por las versiones para el IBM 7090 y el IBM 7094 .

Por el 1965, el FORTRAN IV fue supuesto para ser el " standard" y de acuerdo con el grupo de trabajo americano del FORTRAN de la asociación X3.

FORTRAN 66

Quizás el desarrollo más significativo de la historia temprana del FORTRAN era la decisión por la asociación americana (ahora ANSI de los estándares del ) para formar a un comité para desarrollar un " Estándar americano Fortran." Los dos estándares resultantes, aprobados en marzo de 1966, definidos dos idiomas, FORTRAN del (basado en el FORTRAN IV, que había servido como estándar de hecho del ), y FORTRAN básico del (basado en FORTRAN II, pero pelado de sus características máquina-dependientes). El FORTRAN definido por el primer estándar se conocía como FORTRAN 66 del (aunque muchos continuos para referirle como FORTRAN IV, la lengua sobre la cual el estándar fue basado en gran parte). El FORTRAN 66 se convirtió en con eficacia el primer " industria-standard" versión del FORTRAN. El FORTRAN 66 incluyó:
Programa principal del

, SUBROUTINE, FUNCTION, y unidades de programa del BLOCK DATA
INTEGER, REAL, tipos de datos DE PRECISIÓN DOBLE de , de COMPLEX, y de LOGICAL * declaraciones de COMMON, de DIMENSION, y de EQUIVALENCE
declaración de DATA para especificar valores iniciales
Lo intrínseco y funciones de EXTERNAL (biblioteca del e., )
Declaración de asignación
GOTO, asignado GOTO, y declaraciones computadas de GOTO
IF lógico y declaraciones (de tres vías) aritméticas de IF
lazos de DO
declaraciones de READ, de WRITE, de BACKSPACE, de REWIND, y de ENDFILE para la entrada-salida secuencial
declaración de FORMAT
declaraciones de CALL, de RETURN, de PAUSE, y de STOP
Constantes de Hollerith en declaraciones de DATA y de FORMAT, y como discusiones reales a los procedimientos
Identificadores de hasta seis carácteres en longitud
Líneas de comentario

FORTRAN 77

Después de que el lanzamiento del estándar del FORTRAN 66, vendedores del recopilador introdujera un número de extensiones al " Fortran" estándar;, ANSI que incita en 1969 para comenzar el trabajo sobre revisar el estándar 1966. Las versiones finales de este estándar revisado circularon en 1977, llevando a la aprobación formal del nuevo estándar del FORTRAN en abril de 1978. El nuevo estándar, conocido como FORTRAN 77 del, agregó un número de características significativas para tratar muchos de los defectos de FORTRAN 66:
Bloque IF del

y declaraciones del END IF, con cláusulas opcionales de ELSE y del ELSE IF, proporcionar la ayuda mejorada de la lengua para la programación estructurada
HACER las extensiones de lazo, incluyendo expresiones del parámetro, incrementos negativos, y cuentas cero del viaje
declaraciones de OPEN, de CLOSE, y de INQUIRE para la capacidad mejorada de la entrada-salida
Entrada-salida de acceso directo del archivo
declaración de IMPLICIT
tipo de datos de CHARACTER, con las instalaciones sumamente ampliadas para la entrada y la salida del carácter y el proceso de datos carácter-basados
declaración de PARAMETER para especificar constantes
declaración de SAVE para las variables locales persistentes
Nombres genéricos para las funciones intrínsecas
Un sistema de lo intrínseco (LGE, LGT, LLE, LLT) para la comparación de lexical de secuencias, basada sobre la secuencia de intercalación ASCII . de (las funciones fueron exigidas por el Departamento de Defensa de los E., en su voto condicional de la aprobación.) del ASCII

En esta revisión del estándar, un número de características fueron quitadas o alteradas de una forma que pudieron invalidar programas de anterior-estándar-conformación. (el retiro era la única alternativa permisible a X3J3 en aquel momento, desde el concepto de " deprecation" no estaba todavía disponible para los estándares.) del ANSI Mientras que la mayor parte de los 24 artículos en las escapatorias tratadas o los casos patológicos de la lista del conflicto (véase el apéndice A2 de X3.9-1978) permitieron por el estándar anterior pero utilizado raramente, una pequeña cantidad de capacidades específicas fueron quitadas deliberadamente, por ejemplo:
Constantes de Hollerith y datos de Hollerith, por ejemplo: del
¡el de SALUDA = 12HHELLO ALLÍ!

  • La lectura en un H corrige (descriptor del campo de Hollerith) en una especificación del FORMATO.
    Overindexing de los límites de arsenal por subíndices. del
  • DEL
      DEL Y= A (11.1) DEL
      DEL DIMENSION A (10.5) DE
    La transferencia del control en la gama de a coloca (también conocido como " Range" extendido;).

Una extensión práctica importante a FORTRAN 77 era el lanzamiento de MIL-STD-1753 en 1978. Esta especificación, desarrollada por el Departamento de Defensa de los E., estandardizó un número de características ejecutadas por la mayoría de los recopiladores del FORTRAN 77 pero no incluidas en el estándar del FORTRAN 77 del ANSI. Estas características serían incorporadas eventual en el estándar del FORTRAN 90.
DO WHILE del

y declaraciones del END DO
declaración de INCLUDE
Variante del IMPLICIT NONE de la declaración de IMPLICIT
Funciones intrínsecas de la manipulación de pedacito, basadas en las funciones similares incluidas en FORTRAN industrial del tiempo real (ANSI/ISA S61.1 (1976))

El estándar POSIX de IEEE 1003.9, lanzado en 1991, con tal que medios simples para que programadores Fortran-77 publiquen llamadas de sistema de POSIX. Sobre 100 llamadas fueron definidos en el documento - permitir el acceso al control de proceso POSIX-compatible, señal que dirigía, control del sistema de ficheros, control de dispositivo, el señalar del procedimiento, y entrada-salida de la corriente de una manera portable.

El desarrollo de un estándar revisado para tener éxito FORTRAN 77 sería retrasado en varias ocasiones como el proceso de la estandardización luchó para continuar con los cambios rápidos en práctica computacional y programada. Mientras tanto, como el " FORTRAN" estándar; por casi quince años, el FORTRAN 77 se convirtió en el dialecto históricamente más importante.

Las computadoras de Control Data Corporation tenían otra versión de FORTRAN 77, llamaron el FORTRAN de Minnesota, con variaciones en construcciones de la salida, aplicaciones especiales de campos comunes y de declaraciones de los DATOS, niveles de código de las optimizaciones para compilar, y detallaron los listados de errores, mensajes de alerta extensos, y eliminan errores.

FORTRAN 90

El sucesor mucho retrasado a FORTRAN 77, conocido informal como FORTRAN 90 del, finalmente fue lanzado como estándar del ANSI en 1992. Esta revisión importante agregó muchas nuevas características para reflejar los cambios significativos en la práctica programada que se había desarrollado desde el estándar 1978:
entrada Free-form de la fuente, también con palabras claves minúsculas del FORTRAN
Identificadores hasta 31 carácteres en longitud
Comentarios en línea
La capacidad de funcionar encendido pone en orden (o las secciones del arsenal) en conjunto, así grandemente simplificando matemáticas y dirigiendo cómputos. declaraciones de asignación del arsenal y expresiones enteras, parciales y enmascaradas de arsenal, tales como   X (1: N)=R (1: N)*COS (A (1: N)))
declaración de WHERE para la asignación selectiva del arsenal
constantes y expresiones poner en orden-valorados,
funciones poner en orden-valoradas definidas por el usario y constructores del arsenal.
procedimientos RECURSIVE
Módulos, agrupar los procedimientos relacionados y los datos juntos, y ponerlos a disposición otras unidades de programa, incluyendo la capacidad para limitar la accesibilidad solamente a las piezas específicas del módulo.
Mejorado sumamente discusión-pasando el mecanismo, permitiendo el interconecta que se comprobará en de tiempo de compilación
Interfaces User-written para los procedimientos genéricos
El sobrecargar de operador
Tipos de datos derivados del extracto
Nuevo tipo sintaxis de datos de la declaración, especificar el tipo de datos y otras cualidades de variables
Asignación de memoria dinámica por medio de la cualidad de ALLOCATABLE y de las declaraciones de ALLOCATE y de DEALLOCATE
cualidad POINTER, asignación del indicador, y declaración de NULLIFY para facilitar la creación y la manipulación de las estructuras de datos dinámicas
Construcciones de colocación estructuradas, con una declaración del END DO para la terminación del lazo, y declaraciones de EXIT y de CYCLE para el " " del estallido; de las iteraciones normales del lazo de DO de una manera ordenada
construcción de SELECTCASE para la selección de la multi-manera
Especificación portable de la precisión numérica bajo control del usuario
Nuevos y realzados procedimientos intrínsecos.

Obsolescencia y canceladuras
Desemejante de la revisión anterior, el FORTRAN 90 no suprimió ninguna características.1 dice, " La lista de características suprimidas en este estándar es empty.") Cualquier programa de estándar-conformación del FORTRAN 77 también estándar-está conformando bajo FORTRAN 90, y cualquiera estándar debe ser usable definir su comportamiento.

Un pequeño sistema de características fue identificado como " obsolescent" y esperado ser quitado en un estándar del futuro.

FORTRAN 95

El FORTRAN 95 del era una revisión de menor importancia, resolver sobre todo algunas ediciones excepcionales del estándar del FORTRAN 90. Sin embargo, el FORTRAN 95 también agregó un número de extensiones, notablemente de la especificación del FORTRAN del alto rendimiento:

FORALL y construcciones jerarquizadas de WHERE para ayudar al vectorization
Procedimientos definidos por el usario de PURE y de ELEMENTAL
Inicialización del defecto de la inicialización y de la estructura del indicador Un suplemento importante a FORTRAN 95 era el técnico TR-15581 del informe de la ISO: Tipo de datos realzado instalaciones, conocidas informal como el TR Allocatable. Esta especificación de definió el uso realzado de los órdenes de ALLOCATABLE, antes de la disponibilidad completamente de los recopiladores de FORTRAN obedientes del FORTRAN 2003. Tales aplicaciones incluyen órdenes de ALLOCATABLE como tipo derivado componentes, en listas de discusión simulada del procedimiento, y como valores de la vuelta de la función. (los órdenes de ALLOCATABLE son preferibles a los órdenes de POINTER-based porque los órdenes de ALLOCATABLE son garantizados por el FORTRAN 95 que se desasignará automáticamente cuando salen de alcance, eliminando la posibilidad de la salida de la memoria además, el alias no es una edición para la optimización de las referencias del arsenal, permitiendo que los recopiladores generen un código más rápido que en el caso de indicadores.)

Otro suplemento importante a FORTRAN 95 era el técnico TR-15580 del informe de la ISO : Dirección de excepción flotante, conocida informal como el IEEE TR. esta ayuda definida especificación para la aritmética flotante de IEEE y la dirección de excepción de la coma flotante .

Compilación condicional y secuencias diversas de la longitud

Además del " obligatorio; Language" bajo; (definido en ISO/IEC 1539-1: 1997), la lengua del FORTRAN 95 también incluye dos módulos opcionales:
Conjuntos de caracteres diversos (ISO/IEC 1539-2: 2000)
Compilación condicional (ISO/IEC 1539-3: 1998) cuáles, juntos, abarcan el estándar internacional de varias partes (ISO/IEC 1539).

Según los reveladores de los estándares, " las piezas opcionales describen las características autónomas que han sido pedidos por un cuerpo substancial de los usuarios y/o de los ejecutores, pero que no se juzgan para estar de suficiente generalidad para que los sean requeridos en todo el FORTRAN de estándar-conformación compilers." Sin embargo, si un FORTRAN de estándar-conformación proporciona tales opciones, entonces ellas " debe ser proporcionado de acuerdo con la descripción de esas instalaciones en la parte apropiada del Standard."

FORTRAN 2003

El estándar más reciente, FORTRAN 2003 del, es una revisión importante que introduce muchas nuevas características. Un resumen comprensivo de las nuevas características de FORTRAN 2003 está disponible en el Web site oficial del grupo de trabajo del FORTRAN (WG5).

De ese artículo, los realces principales para esta revisión incluyen:
Tipo derivado realces: tipos derivados dados parámetros, control mejorado de la accesibilidad, constructores mejorados de la estructura, y finalizers.
Ayuda de la programación orientada al objeto : el tipo extensión y la herencia, polimorfismo, tipo dinámico asignación, y tipo-limitan procedimientos.
Realces de la manipulación de datos: los componentes allocatable (TR de incorporación 15581), el tipo diferido parámetros, cualidad, tipo explícito especificación VOLATILE en constructores del arsenal y asignan declaraciones, realces del indicador, expresiones extendidas de la inicialización, y procedimientos intrínsecos realzados.
Realces de la entrada-salida: la transferencia asincrónica, acceso de la corriente, usuario especificó las operaciones de transferencia para los tipos derivados, usuario especificó el control del redondeo durante conversiones del formato, los constantes nombrados para las unidades preconnected, la declaración de FLUSH, la regularización de palabras claves, y el acceso a los mensajes de error.
Indicadores del procedimiento.
Ayuda para la aritmética flotante de IEEE y la dirección de excepción de la coma flotante (TR de incorporación 15580).
Interoperabilidad con el lenguaje de programación C.
Ayuda para el uso internacional: tener acceso a ISO 10646 a 4 carácteres del octeto y opciones del decimal o de la coma en entrada-salida formatada numérica.
Integración realzada con el sistema operativo del anfitrión: tener acceso a la línea de comando discusiones de, a las variables de entorno y a los mensajes de error del procesador.

FORTRAN 2008

Esfuerzos están en curso desarrollar una revisión a FORTRAN 2003, tentativo llamado FORTRAN 2008. Como con FORTRAN 95, ésta se piensa para ser una mejora de menor importancia, clarificaciones de incorporación y correcciones a FORTRAN 2003, así como la introducción de un selecto pocas nuevas capacidades. Las nuevas capacidades propuestas incluyen el
el Co-pone en orden FORTRAN - un modelo del procesamiento en paralelo
Tipo de datos del PEDACITO

La herencia del FORTRAN

Puesto que el FORTRAN ha sido funcionando por más de cincuenta años, hay un cuerpo extenso del FORTRAN en uso diario a través de las comunidades científicas y de la ingeniería. Es la lengua primaria para algunas de las tareas más intensivas de la superinformática, tales como tiempo y clima que modela, la dinámica flúida de cómputo, la química de cómputo, el chromodynamics de Quantum, simulaciones de las dinámicas de largo plazo de la Sistema Solar, las órbitas de alta fidelidad del satélite artificial de la evolución, y la simulación de la dinámica del desplome del automóvil. De hecho, uno encuentra que incluso hoy, medio siglo más adelante, las pruebas patrones flotantes para calibrar el funcionamiento de los nuevos procesadores de la computadora todavía están escritas en el FORTRAN (el e., CFP2000, el componente flotante de espec.

Características de lengua

Las características de lengua del FORTRAN del descritas se piensan para ser una descripción bastante comprensiva de la lengua del FORTRAN; los detalles completos se pueden encontrar en cualesquiera de varios libros de textos del FORTRAN. Solamente esas características ampliamente utilizadas en nuevos programas se describen, como pocas de las características históricas se utilizan en programas modernos. No obstante, la mayoría se han conservado en la lengua para mantener la compatibilidad hacia atrás .

considera también:

las características de lengua del FORTRAN

Portabilidad

La portabilidad era un problema en los comienzos porque no había compañías estándar-no incluso de IBM convenido de la referencia manual-y de computadora competidas para distinguir sus ofrendas de otras proporcionando características incompatibles. Los estándares han mejorado portabilidad. El estándar 1966 proporcionó un sintaxis y una semántica de la referencia, pero los vendedores continuaron proporcionando extensiones incompatibles. Aunque los programadores cuidadosos vinieran realizar que el uso de extensiones incompatibles causó problemas costosos de la portabilidad, y era por lo tanto usar programas tales como el verificador de PFORT, no estaba hasta después del estándar 1977, cuando la oficina nacional de los estándares (ahora NIST ) publicó el FIPS PUB 69, que del los procesadores compraron por el gobierno de los E. fue requerida para diagnosticar las extensiones del estándar. Algo que dos procesadores, esencialmente cada recopilador tenía eventual por lo menos una opción para diagnosticar extensiones.

Las extensiones incompatibles no eran el único problema de la portabilidad. Que los cálculos numéricos, es importante tomen cuenta de las características de la aritmética. Esto fue tratada por el Fox y otros en el contexto del estándar 1966 por la biblioteca del PUERTO del . Las ideas en esto llegaron a ser ampliamente utilizadas, y fueron incorporadas eventual en el estándar 1990 por funciones intrínsecas de la investigación. (Ahora casi la adopción extensa del universal) del estándar de IEEE 754 para la aritmética flotante binaria esencialmente ha quitado este problema.

El acceso al ambiente computacional (e. la línea de comando del programa, las variables de entorno, la explicación textual de las condiciones de error) seguía siendo un problema hasta que fuera tratado por el estándar 2003.

Colecciones grandes de " library" el software que podría ser descrito como siendo loosely-related a la ingeniería y a los cálculos científicos, tales como bibliotecas de los gráficos, se ha escrito en C, y por lo tanto tiene acceso a ellas presentó un problema de la portabilidad. Esto ha sido tratada por la incorporación de la interoperabilidad de C en el estándar 2003.

Es posible (y relativamente fácil ahora) escribir un programa enteramente portable en el FORTRAN, incluso sin recurso a un preprocesador.

Variantes del FORTRAN

Variantes específicas

Los vendedores de las computadoras científicas de alto rendimiento ( Burroughs del e.,, CDC, Cray, Honeywell, IBM, Texas Instruments, y UNIVAC ) agregaron extensiones al FORTRAN para aprovecharse de características de hardware especiales tales como tuberías del escondrijo de la instrucción, de la CPU, y órdenes del vector. Por ejemplo, uno de los recopiladores de FORTRAN de IBM ( H IUP extendido ) tenía un nivel de optimización que reordenó las instrucciones en lenguaje de máquina de mantener unidades aritméticas internas múltiples ocupadas simultáneamente. Otro ejemplo es el CFD, una variante especial del FORTRAN diseñada específicamente para el superordenador ILLIAC IV, funcionando en centro de investigación de Ames de s de la NASA el '.

El FORTRAN orientado al objeto era una extensión orientada al objeto del FORTRAN, en la cual los artículos de datos se pueden agrupar en los objetos, que se pueden ejemplificar y ejecutar paralelamente. Estaba disponible para Sun, el diafragma, el iPSC, y el nCUBE, pero se apoya no más.

Tales extensiones machine-specific han desaparecido en un cierto plazo o han tenido elementos incorporados en los estándares principales; la extensión restante principal es el OpenMP, que es una extensión de la cruz-plataforma para la programación de la memoria compartida. Una nueva extensión, FORTRAN de CoArray, se piensa para apoyar la programación paralela.

idiomas FORTRAN-basadas

Antes de FORTRAN 77, un número de preprocesadores eran de uso general proveer de una lengua más amistosa, la ventaja que el código preprocessed se podría compilar en cualquier máquina con un recopilador de FORTRAN estándar. Los preprocesadores populares incluyeron el FLECS, el MORTRAN, el Ratfor, y el Ratfiv . (Ratfor y Ratfiv, por ejemplo, ejecutaron notable un C - como la lengua, haciendo salir código preprocesado en FORTRAN estándar 66.)

El estándar Fortran-95 incluye una pieza opcional 3 del que defina una capacidad opcional de la compilación condicional . Esta capacidad se refiere a menudo como " CoCo".

Muchos recopiladores de FORTRAN han integrado los subconjuntos del preprocesador C en sus sistemas.

El SIMSCRIPT es un preprocesador específico a la aplicación del FORTRAN para modelar y simular sistemas discretos grandes.

El F fue diseñado para ser un subconjunto limpio de FORTRAN 95 que intentó quitar el el redundante, no estructurado, y desaprobó características del FORTRAN, tales como la declaración de EQUIVALENCE.

Cifrar los ejemplos

Los programas de muestra se pueden compilar y funcionamiento con cualquier recopilador de FORTRAN estándar (véase el extremo de este artículo para las listas de recopiladores). La mayoría de los recopiladores de FORTRAN modernos cuentan con un archivo con una extensión de .for (para la fuente de forma fija del FORTRAN 66 o del FORTRAN 77, aunque el dialecto del FORTRAN 66 pueda tener que ser seleccionado específicamente con una comando-línea opción) o la extensión de .f95 (para la fuente free-form del FORTRAN 90/95, respectivamente).

considera también: Wikibooks:

los ejemplos del FORTRAN/del FORTRAN

Citas del FORTRAN

Para un lenguaje de programación con una herencia del medio siglo, el FORTRAN naturalmente ha acumulado su parte de bromas y del folklore.

Del expediente histórico

Dios del es verdadero, a menos que número entero declarado. Allan Toogood, programador del FORTRAN.
el FORTRAN del

, el desorden infantil, ahora casi 20 años, es desesperado inadecuado para cualquier aplicación informática usted tiene en mente hoy: es demasiado torpe, demasiado aventurado, y demasiado costoso ahora utilizar. - Edsger Dijkstra, circa 1970.
" del

; Cuanto más pronto existió el mundo olvida que el FORTRAN nunca, el better." (imputado al José Weizenbaum )
" del

; el 95 por ciento de la gente que programó en los años nunca lo habría hecho sin Fortran." - Ken Thompson, circa 2005
" del

; El propósito primario de la declaración de los DATOS es dar nombres a los constantes; en vez de referir al pi como 3.141592653589793 en cada aspecto, el pi variable se puede dar que valor con una declaración de los DATOS y utilizar en vez de la forma más larga del constante. Esto también simplifica la modificación del programa, si el valor de pi change." - Manual temprano del FORTRAN para las computadoras de Xerox ¡matemáticas equivalentes para especificar el valor del pi, del etc.), porque tal comentario arruina completamente la broma. A veces, haber dicho menos, el mejor. --Contribuidor original de la broma -->
" del

; Constantemente la separación de palabras por los espacios se convirtió en una aduana general sobre el siglo X A., y duró hasta cerca de 1957, cuando el FORTRAN abandonó el practice.N-POS=30 de referencia del FORTRAN de Sun del
" del

; La gente es muy flexible y aprende ajustar a los alrededores extraños - ella puede hacer acostumbrada para leer los programas balbucea y de FORTRAN, por ejemplo. " - arte del de PRÓLOGO, del Sterling y de Ehud Shapiro, prensa de Leon del MIT
" del

; Advertencia: Ir directo a encarcelar." - huevo de Pascua en el SDS /el recopilador de FORTRAN de la sigma 7 de Xerox, cuando el GO de la declaración a JAIL fue encontrado. El mensaje es de una tarjeta de la ocasión en el monopolio .

Referencias en cultura popular

En el episodio experimental de la serie de Futurama, el doblador de la robusteza bebe una botella del licor de malta del FORTRAN de Olde del (que refiere al " " inglés de Olde ; licor de malta)
El folklore de la computadora del

ha atribuido incorrectamente la pérdida de la punta de prueba de espacio del marino I a un error tipográfico en un programa de FORTRAN. Por ejemplo, " Recordar la primera punta de prueba de espacio americana a Venus, perdido según se informa porque el FORTRAN no puede reconocer una coma que falta en a HACE el " de la declaración…; .
En 1982, los maniacos 10.000 lanzaron una canción nombrada " El planeó el " de la obsolescencia ; eso incluye la línea repetida - " Verdad de la ciencia para la vida, en lengüeta del FORTRAN el answer".

Anécdotas del FORTRAN

FORTRAN II en IBM 1401 y 1460

La computadora 1401 de IBM, introducida en 1959, apoyó el FORTRAN por los años 60 medios aunque el 1401 fuera pensado para el cómputo decimal del negocio y como " primitivo de la impresora; server" eso imprimiría el contenido de cintas magnéticas, preparado en sistemas mucho más grandes tales como IBM 7090.

La configuración mínima absoluta fue apoyada, por ejemplo, en la universidad de Roosevelt en Chicago hasta 1974 (cf. Nilges, " Construir sus los propios. Pescar la lengua y Compiler", Apress 2004). Esta configuración era 8K de los bytes de 6 bits para el RAM y un lector de tarjetas y un sacador (cf. Nilges, " Anecdotes", Transacciones de IEEE en la historia del software, resorte/verano 1999).

El recopilador, como descrito más abajo, era una serie de cerca de 100 pequeñas fases del recubrimiento (cf. Lee, " La anatomía de un Compiler", Van Nostrand Rheinhold 1968), donde un monitor miniatura permanecía residente en memoria para cargar cada fase. Estas fases fueron cargadas de una baraja de más de 2.000 tarjetas perforadas (más de dos pies de largo) o de un bobinador (que no estaba disponible en la instalación de la universidad de Roosevelt).

Estos recubrimientos explorarían y analizarían un " squozed" (en blanco-quitado: funcionar con) la forma codificada longitud del código fuente para presentar declaraciones en una lengua interpretativa en el final de la memoria disponible (puesto que el final de la memoria no podría ser detectado, tuvo que ser deletreado hacia fuera en un " controlar el card"). La fase final era responsable de interpretar el código.

A pesar de el recopilador primitivo del FORTRAN II, que no tenía ninguna secuencia, la declaración algo compleja y flexible del FORMATO fue apoyada. Además, otro " control" la tarjeta podría especificar cuántos decimales serían apoyados en formato de la coma flotante; esta característica miraba adelante a una característica sumamente más flexible en el sistema de hoy de Mathematica.

Sin embargo, por un número de años, la instalación en la universidad de Roosevelt fue privada del FORTRAN a pesar de la disponibilidad del " del recopilador; deck". En un cierto punto a tiempo en 1970, un ingeniero de cliente de IBM tenía " fixed" un insecto, pensamiento a resultar de la ausencia de especial se multiplica/de hardware de la divisoria (para cuál tuvieron que pagar 1401 clientes a suplemento) por memoria de sobreposición con un salto a una subrutina para la multiplicación y la división.

Desafortunadamente, en la configuración mínima, esto instrucciones destruidas y nunca trabajado por esta razón. Roosevelt pagaba multiplica y divide, así pues, cuando en 1972 el remiendo del ingeniero de cliente fue quitado, el recopilador después trabajado. Fue utilizado para la administración, la enseñanza y la investigación hasta cerca de 1977.

El IBM 1460 (similares al 1401) también tenía un recopilador del FORTRAN II que residió en la cinta. Requirió solamente ese bobinador, un lector de tarjetas/el sacador y una impresora, es decir ningún " work" dispositivos.

El recopilador para el 1401 y el 1460 estaba bajo la forma de multiplicidad de fases minúsculas, o segmentos, que fueron pasados sobre el programa fuente que fue llevado a cabo en almacenaje a través de la compilación. La primera fase leyó el programa del lector de tarjetas, numeró las declaraciones, y produjo un listado de la fuente. Las fases próximas pudieron ser algo como " copiar (y revés) el programa del almacenaje bajo al alto almacenaje, asignando y substituyendo los nombres por los símbolos . " El aspecto era que la cinta de sistema que contenía el recopilador " blip", la computadora tararearía para un pedacito, después la cinta " blip" otra vez y otra parte del listado aparecería en la impresora. El resultado final era una cubierta de objeto en el sacador, y el programa fue dejado en almacenaje y alista para ir.

El efecto era absolutamente inusual, y fue diseñado poder compilar el programa posible más grande con los pocos dispositivos periféricos .

La letra O consideraba dañoso

Durante la misma reunión del comité de los estándares del FORTRAN en quien el " conocido; FORTRAN 77" fue elegido, una oferta técnica fue pasada de contrabando de alguna manera en la distribución oficial, llevar el título, " La letra O consideraba el harmful". Esta oferta engañoso simple pretendió tratar la confusión que se presenta a veces entre el " de la letra; O" y el número cero, eliminando la letra de nombres variables permisibles. Sin embargo, el método propuesto era eliminar la letra del juego de caracteres enteramente (de tal modo conservando 48 como el número de carácteres léxicos, que los dos puntos habían aumentado a 49).

Entre el " PRO" las discusiones eran la aserción que ésta también promovería la programación estructurada, haciéndola imposible utilizar el notorio del IR a la declaración de como antes. (Las declaraciones molestas del FORMATO del del sería eliminado, también.)

El único " CON" la discusión concedió ese " esto pudo invalidar un cierto programs" existente; pero observado que la mayor parte de este " eran probablemente no conforme, anyway". distribución de la poste-reunión de X3J3 para la reunión celebrada en el laboratorio nacional de Brookhaven en noviembre de 1976.

  • Zenithic
  • FORTRAN
    Random links:Piercefield, Nueva York | Familia de Carrera | Blowin en el viento | Augustus Le Plongeon | Rakuita Vakalalabure

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">