Soy un estudiante de Ingeniería Mecánica interesado en el campo de la ingeniería aeroespacial donde, según me han dicho, Fortran todavía se usa comúnmente.
¿Qué versión de Fortran debo invertir mi tiempo para aprender?
Soy un estudiante de Ingeniería Mecánica interesado en el campo de la ingeniería aeroespacial donde, según me han dicho, Fortran todavía se usa comúnmente.
¿Qué versión de Fortran debo invertir mi tiempo para aprender?
Respuestas:
Es un nombre poco conocido popular que hay una "versión" de Fortran para conocer. Con raras excepciones, los últimos estándares (y compiladores) de Fortran conservan una excelente compatibilidad con los estándares anteriores. Esto es por una buena razón: no muchas personas usarían Fortran hoy si no fuera por las grandes cantidades de código heredado que todavía están en uso. Es decir, un código Fortran77 que cumpla con los estándares casi invariablemente seguirá funcionando con los últimos compiladores.
Debe aprender a usar la versión más moderna del idioma disponible. F2008 podría no haber agregado nada terrible útil para un principiante, pero la introducción de F2003 de conceptos orientados a objetos es definitivamente un gran problema. "Modern Fortran Explained" es un lugar decente para comenzar, y "Diseño de software científico: la forma orientada a objetos" también es bastante bueno para aprender a ponerlo en práctica.
Pragmáticamente, si va a trabajar en código heredado (por ejemplo, F77 o anterior), en algún momento tendrá que aprender algunas de las cosas que hicieron debido a la falta de características de F90 +. Por ejemplo, si está escribiendo código Fortran para algo, nunca debe usar lo que se llama un "bloque COMÚN", pero invariablemente verá que aparecen en el código F77 que podría tener que usar.
Nunca recomendaría que alguien comience a trabajar en Fortran sin al menos los conjuntos de características F90 / 95.
Dicho esto, si no está bien versado en programación en algún otro idioma, probablemente encuentre un consenso de que Fortran no es el mejor idioma para aprender como el primero, incluso si va después del sector aeroespacial. (Y lo digo como alguien en el sector aeroespacial que usa Fortran regularmente y lo tenía como mi primer idioma).
No estoy de acuerdo con los dos. C ++ y Python todavía no están tan optimizados como FORTRAN. Definitivamente estaría de acuerdo en que FORTRAN 90/95 es el mínimo. Sin embargo, siempre es útil usar otras versiones más modernas. El desafío con FORTRAN es que si lo aprende antes de aprender lenguajes orientados a objetos, es fácil de entender. Es mucho más difícil aprender si estás acostumbrado a pensar con objetos. Enseño la clase de supercomputación aquí y obligo a mis alumnos a usar FORTRAN. Los obliga a usar un tipo diferente de lógica en la programación. No les gusta porque no "piensa" como Python o C ++. Todo se reduce a lo que tiene la intención de hacer y cuánto importan la paralización y el rendimiento.