虽然编程不是你的专业,但是当你坐在一个正在编程的程序员旁边的时候,你的第一反应一定是看到一堆乱七八糟的代码。如果你仔细看看,你可能会发现你能听懂一些英语单词。如果你能理解一些编程语言,你首先要感谢你的英语老师。其次,你要了解下面的人,感谢一门编程语言。
你想认识的这些人——Fortran集团25周年晚会
现在写程序比60年前容易多了。因为在目前的编程过程中,并不需要把所有的命令都写出来,还有一些软件可以帮助直接复制粘贴。这一切都要归功于Fortran语言,它是世界上最早的高级计算机编程语言,在科学和工程计算领域应用广泛。
Fortran是两个字的组合,公式翻译器,叫公式编译器。Fortran语言诞生于1954年,1957年开始商业化。它是第一个计算机语言标准,也是计算机高级语言发展史上最早使用的编程语言。它可以把接近数学语言的文本翻译成机械语言。《纽约时报》曾评论说,它帮助打开了现代计算的大门,并可能成为历史上最有影响力的软件产品。
1957年,Fortran第一版Fortran I在IBM704系统上运行,然后是Fortran II,Fortran III,Fortran IV,FORTRAN 66,FORTRAN 77,Fortran 90,Fortran 95,Fortran 2003等。,现在Fortran2008可用。Fortran 90之前的版本称为Fortran,FORTRAN 90之后的版本写成FORTRAN。Fortran语言最大的特点是接近数学公式的自然描述,在计算机中执行效率高。Fortran自诞生以来,已经在土木工程和机械领域广泛应用了60多年。
Fortran语言使数学家和科学家第一次能够编程;学过高中代数但不懂计算机的人可以理解Fortran表达式。在过去,键入多达1000条程序指令来解决指定的问题是一项劳动密集型的任务,但在Fortran发明后,用Fortran语言键入27条指令就可以自动完成这项任务,这使计算机命令的效率提高了20倍,甚至改变了程序员的工作方式。
Fortran语言之父
约翰·约翰·贝克被称为“Fortran语言之父”。20世纪50年代,美国IBM的约翰·约翰·贝克开始研究开发著名的Fortran语言,这是第一种高级编程语言。在此之前,在使用机器语言的时候,写一个简单的程序往往需要很多复杂的指令,然后指令直接由机器执行。Fortran语言把这个过程抽象出来,程序员只需要输入相对简单的指令,计算机就可以自动翻译成机器语言。因此,在一定意义上,Fortran改变了人与计算机之间的“交互模式”,为后来现代计算机软件的发展奠定了基础。
Fortran语言之父
美国计算机学会奖励委员会联合主席吉姆·霍宁评论说,Fortran语言的诞生是计算机领域的巨大突破,改变了“游戏模式”,“而这种改变在计算机行业历史上只发生过两三次。”约翰·贝克获得了1977年的图灵奖。
约翰·贝克为IBM工作多年,1991年退休,2007年3月17日在美国俄勒冈州的阿什兰去世。1998年,约翰·贝克曾说过:“在没有意识到语言设计问题的情况下,我们认为一旦有人掌握了赋值表达式、下标变量和DO表达式的概念,下一个语言设计问题就可以忽略不计了。”
问题
Fortran过时了吗?
在这个计算机语言泛滥的时代,很多人认为Fortran在十几年前就已经过时了。其实作为一种特殊的科学计算语言,Fortran的地位至今依然不可动摇。现在科学计算普遍使用C/C++语言和MATLAB语言。Fortran相比它们有着独特的优势。有网友声明如下:
一个
Fortran历史悠久,基础雄厚。第一个Fortran程序诞生至今已近60年。长期以来,它一直是科学计算语言的唯一选择,其间积累了大量正确可靠的程序。虽然Fortran标准改了很多次,但是由于向后兼容,很多程序都是“来了就打”。相比之下,C/C++和MATALAB在近20年后才出现。
2
Fortran语法严谨,更适合严谨的科学计算领域。例如,在C语言中,不检查数组越界。如果访问了错误的地址,计算结果是不可预测的。
三
Fortran可以直接对数组和复数进行运算。像C一样,两个矩阵的加法需要两个循环才能完成,或者说它调用了一个有五个形式参数的函数。C++虽然可以完成C=A+B的简单形式,但是它是基于定义矩阵类及其成员函数,然后重载运算符。前期工作繁琐,矩阵的初始化变成了矩阵类的初始化,增加了工作量。而Fortran可以直接完成矩阵C=A+B..
四
与MATLAB相比,Fortran是一种编译语言,在循环中效率要高得多,MATLAB类似于一种解释语言,所以MATLAB要想广泛使用循环,就要调用C/C++或者Fortran程序。
五
Fortran在并行计算中起着不可替代的作用。Fortran在并行计算方面处于领先地位。
六
Fortran本身也在不断的改进和发展。
其实各种编程语言都有自己的特点。Fortran适合科学计算。C++、Java、Python等。目前市场上大多数编程都使用Fortran,但Fortran至少可以占据科学计算领域的一半。虽然有向C++转移的趋势,但是Fortran在学习的难易程度和语言的严谨程度上还是领先的。Fortran比较简单,所以操作人员没必要花太多时间学习语言本身。就像它的名字公式翻译器一样,Fortran可以说是科学计算中最接近自然语言的语言。最重要的是Fortran在科学计算中的应用由来已久。很多科学家用Fortran写了很多重要的计算程序,比如国家大气研究中心的大气模型和气候预测程序,洛斯阿拉莫斯国家实验室和劳伦斯利弗莫尔国家实验室的保密核武器和激光聚变程序,NASA的全球气候变化模型,以及量子色动力学研究人员计算夸克行为、质子和中子成分的代码。调用这些程序可以和Fortran混合使用,但是还是很麻烦。所以现在科学计算还是离不开Fortran。熟悉高性能计算的朋友一定也知道,每年发布的HPC TOP100的标准是LINPACK,LINPACK基准是用Fortran语言编写的,用来衡量系统的浮点计算能力。Fortran经历了几十年的历史,目前仍有很大的影响力。它在多普勒雷达天气预报、大气和海洋研究、纳米粒子、基因组、DNA和原子结构的模拟等方面仍然发挥着重要作用。如果有机会参观美国大学物理系的研究实验室或国家实验室,你可能会看到研究人员在超级计算机终端上做前沿模拟,但几乎所有的计算机模拟程序都使用20世纪50年代的Fortran语言。
“科学家的Fortran & amp;工程师”,第4版相对于第3版是基于Fortran 95/2003,主要讲解Fortran 2008,在第17章增加了Fortran 2008的两个新内容:并行处理和优化数组。但原著的结构和风格不变:章节的学习目标明确,自上而下的编程方法贯穿始终,理论详细,例题讲解清晰,代码测试完整,验证学习效果的试题和习题丰富。所有这些特性都是作者为了方便自学和掌握Fortran编程而精心设计的,这也成为了全世界使用Fortran编程的人乐于购买这本书的首要原因。
“科学家的Fortran & amp;《工程师》第三版由中国电力出版社引进翻译,在国内累计印量近2万册,好评如潮,在各大图书网站Fortran图书销售排行榜中排名前二。第四版的翻译版也由中国电力出版社于2018年10月出版。
该中文译本获得了好评
《Fortran编程》不仅是Fortran语言初学者的必读,也是精通Fortran语言者的第一本参考书。本书第1~7章,从计算机的基本结构出发,描述计算机中数据的表示,Fortran语言的发展历史以及如何培养良好的编程习惯,详细介绍Fortran语言的基础知识。第8~15章介绍了Fortran语言的高级特性,为初学者掌握和使用好Fortran语言提供了有力的支持。第16章介绍了Fortran语言的面向对象编程方法。第17章介绍了Fortran 2008中的并行处理和优化数组。第18章简要描述了已经被逐一宣布过时的旧Fortran特性,并为遗留Fortran程序的继续使用提供支持。这些新知识和旧特性是熟练使用Fortran的程序员最关心的内容。
Fortran编程
中文翻译版本
出版日期:2018年10月
书号:9787519822941
定价:148.00元人民币
全书自始至终强调实用工程编程的思想,致力于培养读者写出可读性、可维护性、完整性好的程序的能力。书中有很多工程实例,每章后面的习题里有很多习题,很多都涉及到各个学科的实际工程计算。比如相对论,电子工程,万有引力,逃逸速度,双曲余弦,振动周期,无线电接收机编程等。这对于读者了解所学知识在实际工程中的应用,掌握所学知识,增加学习兴趣是很有帮助的。
目录
前言
第一章计算机和Fortran语言介绍
1.1计算机
1.2计算机中数据的表示
1.3计算机语言
1.4 Fortran语言发展历史
1.5 fortran的发展
1.6总结
第2章Fortran基础
2.1简介
2.2 Fortran字符集
2.3 Fortran语句结构
2.4 Fortran程序结构
2.5常数和变量
2.6赋值语句和算术运算
2.7内置功能
2.8表控制输入和输出语句
2.9变量初始化
2.10 INCLUDE NONE语句
2.11程序示例
2.12调试Fortran程序
2.13总结
第3章程序设计和分支结构
3.1自顶向下设计技术简介
3.2伪代码和流程图的使用
3.3逻辑常数、变量和运算符
3.4控制结构:分支
3.5关于调试Fortran程序的问题
3.6总结
第4章循环和字符操作
4.1控制结构:循环
4.2字符分配和字符操作
4.3 Fortran循环的调试
4.4总结
第五章基本输入输出概念
5.1格式和格式写语句
5.2输出设备
5.3格式描述符
5.4格式化READ语句
5.5初步文件和文件处理
5.6总结
第六章阵列
6.1声明一个数组
6.2在Fortran语句中使用数组元素
6.3在Fortran语句中使用全数组和部分数组
6.4输入和输出
6.5程序示例
6.6什么时候应该使用数组?
6.7总结
第七章流程
7.1子程序
7.2与模块共享数据
7.3模块流程
7.4 Fortran函数
7.5该过程作为参数传递给其他过程
7.6总结
第8章阵列的高级特性
8.1二维阵列
8.2多维数组
8.3对数组使用Fortran内置函数
8.4屏蔽数组赋值:wHERE结构
8.5福拉尔结构
8.6可分配数组
8.7总结
第9章流程的附加功能
9.1将多维数组传递给子程序和函数
9.2保存属性和语句
9.3进程中的可分配数组
9.4过程中自动排列
9.5可分配数组作为流程中的形式参数
9.6纯过程和单一过程
9.7内部流程
9.8子模块
9.9总结
第10章字符变量的更多特性
10.1字符比较操作
10.2内置字符功能
10.3将字符变量传递给子程序或函数
10.4可变长度字符功能
10.5内部文件
10.6示例
10.7总结
第11章附加内置数据类型
11.1真实数据类型的可选类别
11.2整数数据类型的可选长度
11.3字符数据类型的可选类别
11.4复杂数据类型
11.5总结
第12章派生数据类型
12.1派生数据类型简介
12.2派生数据类型的使用
12.3派生数据类型的输入和输出
12.4在模块中声明派生数据类型
12.5从函数返回的派生类型
12.6派生数据类型的动态内存分配
12.7参数化派生类型
12.8类型扩展
12.9类型绑定过程
12.1关联结构
12.1 1摘要
第13章流程和模块的高级功能
13.1范围和范围
13.2元
13.3递归过程
13.4关键字参数和可选参数
13.5过程接口和接口块
13.6一般流程
13.7使用用户定义的运算符和赋值器扩展Fortran
13.8约束转让人和经营者
13.9限制访问模块内容
13.10高级使用选项声明
13.11内置模块
13.12访问命令行参数和环境变量
13.13挥发性属性和语句
13.14总结
第14章高级输入输出概念
14.1更多格式描述符
14.2表控制输入的默认值
14.3 Fortran I/O语句描述符详细信息
14.4输入/输出名称列表
14.5未格式化文件
14.6直接访问文件
14.7流量接入模式
14.8派生数据类型的非默认输入/输出
14.9异步输入/输出
14.10访问与特定处理器相关的输入/输出系统信息
14.11总结
第15章指针和动态数据结构
15.1指针和目标变量
15.2在赋值语句中使用指针
15.3使用数组指针
15.4使用指针的动态内存分配
15.5指针作为派生数据类型的元素
15.6指针数组
15.7在流程中使用指针
15.8过程指针
15.9二叉树结构
15.10总结
第16章Fortran面向对象编程
16.1面向对象编程简介
16.2 fortran类的结构
16.3 CLASS保留字
16.4在Fortran中实现类和对象
16.5第一个例子:定时器类
16.6方法分类
16.7对类别成员的访问控制
16.8析构函数
16.9遗传和多态性
16.10禁止在子类中重载方法
16.11抽象类
16.12总结
第17章优化阵列和并行计算
17.1 fortran中优化数组的并行处理
17.2创建一个简单的并行程序
17.3优化阵列
17.4图像之间的同步
17.5示例:大数据集排序
17.6动态优化数组和派生数据类型
17.7优化阵列转移过程
17.8临界区
17.9并行程序中的巨大危险
17.10总结
第18章冗余、过时和已删除的Fortran特性
fortran 90之前的字符限制
17.2已经废除的源代码格式
17.3冗余数据类型
17.4过时、过时和不合适的陈述
17.5共享内存空:公共和等效
17.6不必要的子程序特性
17.7其他执行控制功能
17.8取消分行和流通结构
17.9输入/输出语句冗余
17.10总结
附录一ASCII字符集
附录B Fortran/C互操作性
附录C Fortran内置程序
fortran程序中的附录d语句序列
附录E术语表
附录f每一章测试的答案
关于作者
斯蒂芬·查普曼于1975年获得路易斯安那州立大学电子工程学士学位,1979年获得佛罗里达中部大学电子工程硕士学位,随后在早稻田大学进一步深造。
从1975年到1980年,作为一名美国海军官员,他在佛罗里达州奥兰多的美国海军核电学校从事电子工程教学。1980年至1982年,他在休斯顿大学任职,主要从事技术学院电力系统项目的运行和维护。1982年至1988年和1991年至1995年,他是林肯技术实验室马萨诸塞州研究所技术小组的成员。所提供技术服务的主要基础设施位于马萨诸塞州的列克星敦和马绍尔群岛共和国的夸贾林环礁。他的任务是研究雷达信号处理系统,最终成为夸贾林现场四组仪器仪表运行维护的主要负责人。1988年至1991年,斯蒂芬·查普曼在德克萨斯州休斯顿壳牌开发公司担任研究员,主要从事地震信号处理研究,也在休斯顿大学工作,继续从事兼职教学。
斯蒂芬·查普曼现在负责位于澳大利亚墨尔本的澳大利亚BAE系统的系统建模和操作分析。他是海军舰队反导弹攻击模型开发小组的组长。这个模型的代码写了十几年,包括40多万个MATLAB代码。他有丰富的MATLAB应用于实际问题的经验。
斯蒂芬·查普曼是电气和电子工程协会及其几个分会的高级成员,也是计算机械协会和澳大利亚工程师协会的成员。
因为学习改变一切。
你真的知道如何应对冲突的关键时刻吗?
一本打破领导力培训无效诅咒的书
点击图片阅读
到底什么是好的爱情?
点击图片阅读
点击图片阅读
点击图片阅读
1.《fortran Fortran:帮助打开了现代计算的大门》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《fortran Fortran:帮助打开了现代计算的大门》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1694020.html