欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Fortran
小 (→项目) |
小 |
||
第1行: | 第1行: | ||
{{SeeWikipedia}} | {{SeeWikipedia}} | ||
+ | Fortran | ||
+ | |||
+ | ==简介== | ||
在数值计算和高性能计算领域,Fortran语言仍然不可替代。 | 在数值计算和高性能计算领域,Fortran语言仍然不可替代。 | ||
[[Lisp]] 和 Fortran 是目前仍在使用中的两门最古老的编程语言。可能更有意思的是,它们在语言设计的哲学上代表了截然相反的两个极端。Fortran 被发明出来以替代汇编语言。Lisp 被发明出来表述算法。如此截然不同的意图产生了迥异的两门语言,Fortran 使编译器作者的生活更轻松;而 [[Lisp]] 则让程序员的生活更舒服。 | [[Lisp]] 和 Fortran 是目前仍在使用中的两门最古老的编程语言。可能更有意思的是,它们在语言设计的哲学上代表了截然相反的两个极端。Fortran 被发明出来以替代汇编语言。Lisp 被发明出来表述算法。如此截然不同的意图产生了迥异的两门语言,Fortran 使编译器作者的生活更轻松;而 [[Lisp]] 则让程序员的生活更舒服。 | ||
− | |||
Fortran是高性能计算开发人员使用的一种主要编程语言。在众多领域中,它是首选编程语言,这些领域包括计算流体动力学(包括天气与海洋建模)、有限元分析、分子动力学以及量子化学。 | Fortran是高性能计算开发人员使用的一种主要编程语言。在众多领域中,它是首选编程语言,这些领域包括计算流体动力学(包括天气与海洋建模)、有限元分析、分子动力学以及量子化学。 | ||
第50行: | 第52行: | ||
==项目== | ==项目== | ||
+ | [[文件:gtk-fortran-logo.png|right|gtk-fortran]] | ||
+ | *[https://github.com/rabbiabram/awesome-fortran Awesome Fortran] [[image:awesome.png]] | ||
*[[GNU Fortran]] | *[[GNU Fortran]] | ||
*[https://github.com/mapmeld/fortran-machine Fortran.io] An MVC web stack written in Fortran 90 | *[https://github.com/mapmeld/fortran-machine Fortran.io] An MVC web stack written in Fortran 90 | ||
第78行: | 第82行: | ||
==链接== | ==链接== | ||
− | |||
*[http://fortranwiki.org Fortran Wiki] | *[http://fortranwiki.org Fortran Wiki] | ||
*[http://www.fortran.com/ The Fortran Company] | *[http://www.fortran.com/ The Fortran Company] | ||
第86行: | 第89行: | ||
[[category:programming language]] | [[category:programming language]] | ||
[[category:numerical analysis]] | [[category:numerical analysis]] | ||
− | [[category: | + | [[category:Huihoo Foundation]] |
2022年1月8日 (六) 07:10的版本
您可以在Wikipedia上了解到此条目的英文信息 Fortran Thanks, Wikipedia. |
Fortran
目录 |
简介
在数值计算和高性能计算领域,Fortran语言仍然不可替代。
Lisp 和 Fortran 是目前仍在使用中的两门最古老的编程语言。可能更有意思的是,它们在语言设计的哲学上代表了截然相反的两个极端。Fortran 被发明出来以替代汇编语言。Lisp 被发明出来表述算法。如此截然不同的意图产生了迥异的两门语言,Fortran 使编译器作者的生活更轻松;而 Lisp 则让程序员的生活更舒服。
Fortran是高性能计算开发人员使用的一种主要编程语言。在众多领域中,它是首选编程语言,这些领域包括计算流体动力学(包括天气与海洋建模)、有限元分析、分子动力学以及量子化学。
许多流行的高性能计算软件包最初都是用Fortran语言开发出来的,这些软件随着时间的推移不断得到增强。Fortran编译器让开发人员能够以其母语(Fortran语言)进行编程,从而能够重新编译这些代码,以利用全新的性能与架构特性。
历史
- 2017,Fortran迎来60周年庆,Happy 60th birthday, Fortran
特性
- Fortran是为了满足数值计算的需求而发展出来的。
- Fortran语言的最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率。
- 易学,语法严谨。
- 可以直接对矩阵和复数进行运算,这点MATLAB有继承。
- 自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的软件包。
- 很多专用的大型数值运算计算机针对Fortran做了优化。
- 广泛地应用于并行计算和高性能計算领域。
- Fortran 90,Fortran 95,Fortran 2003的相继推出使Fortran语言具备了现代高级编程语言的一些特性。
- 其矩阵元素采用列式存储优先(Column first),MATLAB也效仿这点,目前最多使用的C语言则采用行式存储优先(Row first)。
标准
ISO/IEC JTC1/SC22/WG5 (Fortran)- WG5工作组负责开发和维护Fortran语言标准
- Fortran 2015 Fortran 2008的增强:与C的互操作和并行处理。
- Fortran 2008新功能:Co-array Fortran –并行处理模式,BIT数据类型
- Fortran 2003 标准引入了与C的标准接口。标准委员会的这个决定释放出明确的信息: Fortran只是作为底层计算密集型任务的编程语言, 上层的UI, IO还是由C/C++来做吧。 Fortran2015标准将强化与C/C++的接口功能。
- Fortran 95
- Fortran 90
- Fortran 77,1980年,Fortran 77被ISO接纳为国际标准。
- Fortran 66
Fortran包
Fortran Package:List of Fortran numerical libraries
- IMSL--国际数学和统计链接库
- MKL--Intel数学核心库
- NAG--NAG数学库
- BLAS--Basic Linear Algebra Subroutines
- LAPACK--Linear Algebra PACKage
HPF
High Performance Fortran(有时简称:HPF)是一种编程语言,它延伸自Fortran 90编程语言,高效能Fortran是为了支援并行计算所创设的编程语言,它使用一种SIMD的运算型态,使运算工作能够进行分拆,并以扩散方式发派到运算阵列中的各颗处理器上,以此达到高效能运算。
HPF有一种forall语法可以同时更新并行计算中的整组阵列派项,这项语法自Fortran 95之后开始具备,除此之外forall语法也提供建议(或称:提示、指点),建议在并行计算系统中处理器间应如何协同工作。
Internet Parallel Computing Archive
项目
- Awesome Fortran
- GNU Fortran
- Fortran.io An MVC web stack written in Fortran 90
- functional-fortran Functional programming for modern Fortran.
- Fortran Math Libs
- Lapack @ GitHub
- OpenBLAS
- GTK-Fortran 用Fortran来实现GUI
- Code::Blocks