Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

59 votos

¿Por qué se utiliza FORTRAN con tanta frecuencia en la química computacional?

He estado usando Ruby para escribir scripts para la investigación, pero quiero entrar en algunas cosas más pesadas para las que Ruby es demasiado lento. Me he dado cuenta de que hay algunas cosas escritas en C y C++, pero hay una proporción extrañamente grande de software utilizado en la química computacional que está escrito en FORTRAN (en el que tengo cero experiencia.)

¿Por qué se utiliza FORTRAN en la química computacional? Por lo que tengo entendido, FORTRAN es un poco antiguo ("tarjeta perforada"). Me sorprendió un poco encontrar tutoriales escritos recientemente para FORTRAN.

¿Es una especie de "así es como siempre lo hemos hecho" o hay un aspecto de eficiencia en FORTRAN que estoy pasando por alto?

Nota: Puede que haya confundido FORTRAN con lenguajes de programación posteriores con nombres similares.

7 votos

Porque la gente empezó a escribir código hace mucho tiempo, y Fortran estaba (y sigue estando) muy optimizado para la traducción de fórmulas (por ejemplo, cálculos).

21 votos

Tenga en cuenta que el Fortran moderno (95, 2003, 2008) es muy diferente del FORTRAN 66 o 77.

5 votos

Sí, se te pasa algo por alto. 1) Fortran tiene una semántica ligeramente diferente. No tiene verdaderos punteros, por lo que el compilador puede ser un poco más liberal en las optimizaciones. 2) hay mucho código fortran heredado 3) fortran es mucho más simple, que C y especialmente los lenguajes "orientados a objetos".

8voto

Creo que hay dos razones principales para el amplio uso de Fortran en la comunidad de la química computacional. La primera es por su eficiencia: FORTRAN significa Traductor de Fórmulas y el cálculo científico/numérico fue la principal razón para desarrollar este código.

Hoy en día, Fortran sigue siendo muy eficiente, aunque algunos otros lenguajes (C++, por ejemplo) son tan eficientes como Fortran. Pero, ¿por qué seguimos codificando en Fortran? Básicamente, la mayoría del software de estructura electrónica está escrito en Fortran y nadie está tan loco como para traducir millones de líneas. Por lo tanto, seguimos escribiendo en Fortran cuando añadimos bloques de código. Por otra parte, si hubiera que escribir un nuevo software, no habría razones prácticas para elegir Fortran como lenguaje. Por ejemplo, el reciente software MIDAS (Universidad de Aarhus) para la obtención de funciones de onda nucleares ha sido escrito completamente en C++. Personalmente, uso Fortran90 como lenguaje y no es tan rígido como el antiguo FORTRAN77... ¡y me gusta! :) De hecho, me hice la misma pregunta que has publicado cuando empecé mi doctorado.

0 votos

+1. Muy buena respuesta. Sobre todo porque fue tu primera y única respuesta aquí. Esta respuesta debería tener muchos más votos positivos de los que tiene.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X