En áreas donde los cálculos matemáticos son preponderantes, y donde FORTRAN tiene una larga tradición, como la simulación de flujos de fluidos, con o sin reacciones químicas, ¿qué razones habrá para considerar otros lenguajes, como C ++?

Bien . . ! En las áreas donde predominan los cálculos matemáticos y donde FORTRAN tiene una larga tradición, como la simulación de flujos de fluidos con o sin reacciones químicas; Hay muchas razones por las cuales las personas usan otros lenguajes como C ++. Pocas personas también optan por Java, Python, Matlab.

  • En primer lugar, FORTRAN es el padre de todos los lenguajes de computación científica y es más antiguo que C. FOR-TRAN significa ‘Fórmula-Traducción’. Fue hecho específicamente para ese propósito.
  • Especialmente para computación científica, en flujos de fluidos; “Ningún otro lenguaje de programación es más rápido que FORTRAN”. Aquí hay un ejemplo que compara Python, Matlab, Fortran y Java en segundos.

¿Por qué la gente debería elegir otro idioma?

  • Flexibilidad: Python, C ++, Java son más compatibles y flexibles con diferentes idiomas, es decir, llamar a otros compiladores de idiomas en el medio del programa.
  • Bibliotecas: Python tiene un gran soporte de biblioteca y está creciendo exponencialmente día a día. Muchas universidades están promoviendo el uso de python para la informática científica. Matplotlib de Python es equivalente a Matlab.
  • Crecimiento: Python también se está utilizando para computación de alto rendimiento y hay muchos paquetes que hacen que el código se ejecute más rápido. Como se muestra en la figura anterior, Numpy es un paquete de Python para computación numérica y es muchas veces más rápido que el compilador / intérprete general de Python. Los compiladores JIT (Just-in-Time) como Numba y Py-Py se están utilizando para Python para cálculos más rápidos (pero no están totalmente desarrollados)
  • Postprocesamiento: para generar tramas coloridas, animaciones, gráficos 3D, Python, Matlab son mucho mejores que otras contrapartes. Tienen sus propias bibliotecas de trazado. Matplotlib de python es equivalente a Matlab y es gratuito, pero Matlab es un software comercial.
  • Programación orientada a objetos: C ++ es uno de los mejores en este caso; también lo son Python, Java, que facilitan la informática. Fortran 2003, 08 tiene POO, pero generalmente menos personas usan esas versiones. Mucha gente se apega a Fortran 90/95 y muy pocos usan FORTRAN 77 todavía hoy.
  • Por ejemplo, Open FOAM, un software CFD de código abierto está totalmente escrito en C ++. Hoy, muchas industrias están optando por C ++, Java para los solucionadores de CFD.
  • Longitud-dolor: los códigos de Fortran son muy largos en comparación con sus contrapartes. Para un gran proyecto, un desarrollador tiene que escribir varios miles de líneas de código en Fortran, mientras que en Python o C ++ ese dolor puede aliviarse. Por ejemplo, para imprimir “Hola mundo”, en Fortran y Python:

En Fortran:

  PROGRAMA HOLA
 IMPLICIT NINGUNO! Generalmente no es necesario para este programa hola
	 IMPRIMA *, '¡HOLA MUNDO!'
 FIN DEL PROGRAMA

En Python 2:

  imprimir 'Hola mundo'
  • Julia: Ahora, pocas personas optan por Julia, un lenguaje de programación de código abierto desarrollado por MIT que es más rápido, casi tan fuerte y fácil como Matlab.

Separe todos estos pros y contras de Fortran, gran parte de la comunidad científica dice ciegamente ‘¡ Si se trata de informática, entonces debería ser Fortran!’ . Para proyectos muy grandes, escenarios complicados, la gente todavía se queda con Fortran, que es muy robusto para la informática.

Fuente: a

En mi opinión, otros lenguajes de nivel superior son más fáciles de codificar que Fortran. Hoy en día se están escribiendo muchas bibliotecas en otros idiomas, y los compiladores en otros idiomas también han avanzado significativamente. El uso de otros idiomas podría ayudar a aprovechar eso. Aunque fortran podría correr rápido, hay momentos en que la codificación eficiente también es importante. Incluso si hay algo de sobrecarga por usar un idioma diferente, si usar ese idioma permite implementar un algoritmo más eficiente dadas las limitaciones de tiempo de un proyecto, entonces al final ese otro idioma probablemente resultará en un código más rápido.

Por otro lado, puede haber algunos cálculos en los que puede obtener una ventaja escribiendo directamente en Asamblea. Nunca he hecho esto, pero aparentemente algunas de las rutinas de blas más rápidas se escribieron de esta manera.