Se trata de un lenguaje procedural el cual fue el primero de gran nivel en 1957 y fue creado por IBM para IBM 704. Era eficiente en su ejecución y nació la definición predeterminada del lenguaje en el 66. Existen toras versiones como: Fortran 77 y Fortran 90.
Las peculiaridades de este sistema es que podía soportar números enteros, reales y de doble precisión, tenía también booleanos, arreglos, cadenas de caracteres y un archivo.
FORTRAN 90 ya era estructurada y no necesitaba de sentencias GOTO. Sólo le dejaba 2 contextos para toda variabilidad: local y global. Variables y constantes
- FORTRAN no era sensible a las Mayús y tampoco a las minúsculas. Todo nombre de variable poseía de 6 a 31 caracteres y tenían que empezar por una letra.
- Tenía una declaración concisa en variables
- Usaba enteras (I-N), las demás reales. (se ajusta con IMPLICIT)
- En los primeros FORTRAN no existían punteros y la totalidad de sus variables se guardaban en una memoria estática. En FORTRAN 90 se declaró el INTEGER, PINTER::P
- En la memoria dinámica se destacó ALLOCATE y DEALLOCATE
Tipos de datos
- Array, el cual lograría tener unas 7 dimensiones y se guardaba en columnas.
- Poseía una cadena de caracteres, el primero era 1 y se trataba del operador que le dejaba concatenar las cadenas.
- Un almacenamiento de datos que se usa COMMOM para la información compartida y EQUIVALENCE al momento que se guardaba una variable en 2 factibles tipos de la misma posición en la memoria (como la unión en C).
- Los tipos concretados por cada persona, con TYPE <nombre>
Control de secuencia Su cuantía estructurar es restringido:
- Posee expresión, prioridad en las operadoras.
- Enunciados.
- Un control para los subprogramas. CALL llama al subprograma y RETURN retorna su valor de llamada entrante.
- Elaboración de propensas a equivocaciones. GOTO.
Entrada y salida
- Su tipo de archivo era secuencial y de acceso directo.
- Poseía los comandos de READ, WRITE, PRINT, OPEN, ClASE, INQUIRE, REWIND y ENDFILE.
- Para un correcto tratamiento en cuanto a las excepciones de cada sentencia READ/WRITE se lograría incluir la posición de una rutina del mencionado tratamiento (ERR=90)
Subprogramas
- Existen unos 3 tipos
- Function: Este devuelve un solo valor numérico, lógico o también una cadena de caracteres.
- Subroutine: Se encarga de los valores por medio de variables no locales COMMON.
- Función de enunciado: Este es capaz de calcular una sola expresión aritmética o lógica.