La definición estándar del lenguaje se estableció en 1966.
Algunas otras versiones subsiguientes fueron:
- FORTRAN IV
- FORTRAN 80
- FORTRAN 77
- FORTRAN 90
Fortran ha sido ampliamente adoptado por la comunidad científica para escribir aplicaciones de cálculos intensivos. La inclusión en el lenguaje de la aritmética de numeros complejos amplió la gama de aplicaciones para las cuales el lenguaje se adapta especialmente; muchas técnicas de compilación de lenguajes se han implementado para mejorar la calidad del código generado por los compiladores de Fortran.
Principales características.
El lenguaje fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto. Estas características han evolucionado de versión en versión. Las actuales contienen subprogramas, recursión y una variada gama de estructuras de control.
Lisp es el segundo lenguaje de programacion más antiguo (después de FORTRAN) de alto nivel. Lisp es de tipo declarativo y fue creado en 1958 por John McCarthy y sus colaboradores en el MIT. Es considerado uno de los lenguajes más dificiles de aprendizaje del mundo.
El elemento fundamental en Lisp es la lista, en el sentido más amplio del término, pues tanto los datos como los programas son listas. De ahí viene su nombre, pues Lisp es un acrónimo de "LIStProcessing".
Las listas en LISP están delimitadas por paréntesis. De aquí viene el chiste del significado de LISP: "LostInStupidParentheses" que aunque con buen humor es completamente ficticio.
Algunas de las funciones predefinidas de Lisp tienen símbolos familiares (+ para la suma, * para el producto), pero otras son más exóticas, especialmente dos que sirven precisamente para manipular listas, descomponiéndolas en sus componentes. Sus nombres ("car" y "cdr") son un poco extraños, reliquias de tiempos pasados y de la estructura de los ordenadores de segunda generación, "car" devuelve la cabeza de una lista y "cdr" su cola o resto.
Lisp sigue una filosofía de tratamiento no-destructivo de los parámetros, de modo que la mayoría de las funciones devuelven una lista resultado de efectuar alguna transformación sobre la que recibieron, pero sin alterar esta última.
Uno de los motivos por los que Lisp es especialmente adecuado para la IA es el hecho de que el código y los datos tengan el mismo tratamiento (como listas); esto hace especialmente sencillo escribir programas capaces de escribir otros programas según las circunstancias.
Lisp fue uno de los primeros lenguajes de programación en incluir manejo de excepsiones con las primitivas catch y throw.
Derivado del Lisp es el lenguaje de programación logo. Sin entrar en detalles, podría decirse que Logo es Lisp sin paréntesis y con operadores aritméticos infijos.