章节摘要:这一章是整个演化日志的起点。1957 年,第一行 Fortran 代码写在打孔卡片上,今天的 Fortran 2023 草案已经支持 GPU 卸载与类模板特性,中间隔着的不是一段死历史,而是一连串对"硬件变了、问题变大了、代码要怎么办"的具体回应。读完本章,你会理解固定格式为什么该死、自由格式与模块为什么是分水岭、Fortran 的"数组优先 + 别名假设"设计哲学到底在给编译器让什么路,以及一套现代工具链(编译器、fpm、stdlib)是怎么把老语言搬进新工程流程的。
阅读完本章,你应当能够:
金句:Fortran 从不为"无所不能"设计,它为"数值计算这一件事"设计了五十年——这正是它至今仍是超算腹地语言的原因。
从穿孔卡片与 1957 年的第一版说起,讲清固定格式的物理根源、GOTO 与 COMMON 块为什么在当年是合理选择、又在工程规模变大后如何变成负担。这一节回答演化日志的第一章:这门语言从什么土壤里长出来。
F90 之后,Fortran 的每一次大改都围绕三条主线:数组语义优先、抽象零开销、类型与接口强检查。这一节用可运行的代码把三条哲学落到地面,解释"无别名假设"如何解放编译器。
把工具链讲清楚:gfortran 与 ifx、ifort 的取舍,fpm 怎么管理依赖,stdlib 补上标准库空缺。这一节结束,你应该能在一台干净机器上从零跑起一个现代 Fortran 工程。
三节按"过去 → 现在 → 工具"推进:1.1 解释代码为什么长成过去那个样子,1.2 解释代码今天为什么长成这个样子,1.3 解释写好之后用什么跑起来。不懂历史就看不懂今天的设计取舍,不懂哲学就看不懂为什么工具链长这样。
1.1 早期历史(为什么过去长那样) │ ▼ 1.2 设计哲学(为什么今天长这样)──► 决定你怎么写代码 │ ▼ 1.3 工具链(写好的代码怎么跑起来)