我是一名机械工程专业的学生,对航空航天领域感兴趣,据我所知,Fortran仍然很常用。
我应该花时间学习哪个版本的Fortran?
我是一名机械工程专业的学生,对航空航天领域感兴趣,据我所知,Fortran仍然很常用。
我应该花时间学习哪个版本的Fortran?
Answers:
有一个Fortran的“版本”需要知道,这有点流行。除极少数情况外,最新的Fortran标准(和编译器)与旧标准保持了极好的向后兼容性。这是有充分的理由的:如果不是因为仍在使用大量遗留代码,那么今天就不会有多少人会使用Fortran。也就是说,符合标准的Fortran77代码几乎始终可以与最新的编译器一起使用。
您应该学习使用现有语言的最新版本。F2008可能没有添加任何对初学者有用的可怕内容,但是F2003引入的面向对象概念绝对是一件大事。“现代Fortran解释”是一个不错的起点,“科学软件设计:面向对象的方式”对于实际学习将其付诸实践也非常有用。
务实的是,如果您要处理遗留代码(例如F77或更早的代码),则由于缺乏F90 +功能,您有时必须学习它们所做的一些事情。例如,如果您正在为某事编写Fortran代码,则永远不要使用所谓的“ COMMON块”,但是您总是会看到它们可能会用在F77代码中。
我绝不建议有人至少在没有F90 / 95功能集的情况下开始在Fortran中工作。
就是说,如果您不精通其他语言的编程,那么您可能会发现,即使您追求航空航天,Fortran也不是您初学时最好的语言。(我说的是,作为航空航天界中经常使用Fortran并将其作为我的第一语言的人)。
我不同意你们俩。C ++和Python仍未像FORTRAN那样优化。我绝对同意FORTRAN 90/95是最低要求。但是,使用其他更现代的版本总是有用的。FORTRAN的挑战在于,如果您在学习面向对象的语言之前先学习了它,那么它很容易理解。如果您习惯于用物体思考,则要学习起来要困难得多。我在这里教超级计算课程,并强迫我的学生使用FORTRAN。它迫使他们在编程中使用另一种逻辑。他们不喜欢它,因为它不像Python或C ++那样“思考”。这实际上取决于您打算做什么以及多少并行性和性能至关重要。