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".
3 votos
Para ciertos cálculos de matrices, Fortran es potencialmente más rápido que C/C++ debido a su supuesto de que los punteros nunca se aliasen entre sí.
1 votos
¿"No es una tarjeta perforada"? upload.wikimedia.org/wikipedia/commons/5/58/
0 votos
FORTRAN era una de las pocas opciones disponibles para desarrollar programas específicos de cálculo. En cuanto a las tarjetas perforadas, el formato de las columnas (que forma parte de la especificación del lenguaje) se diseñó teniendo en cuenta las tarjetas perforadas.
0 votos
@DavidZhang Eso se arregla fácilmente con el uso de la palabra clave restrict, que se añadió hace la friolera de 16 años.
7 votos
No olvidemos que muchos programadores científicos son en realidad pésimos programadores, y es mucho más fácil escribir algo razonable en Fortran que en C++.
0 votos
quora.com/
10 votos
LOL - Escribí mi primer programa en 1971 en FORTRAN utilizando tarjetas perforadas. Me pregunto cuánta gente sabe cómo configurar la tarjeta de control para una perforación de teclas. Otra señal perdida de ser un nerd era saber cómo enrollar una cinta de papel para un lector de punch de teletipo.