了解fortran语言
最近看了一些文献,发现用了Fortran语言编程,并且还是近几年的,了解了之后才知道,其实Fortran已经慢慢没有人再用了,之所有还有一批人在用,极大可能是历史遗留问题吧。而这,也得从Fortran语言的历史说起,Fortran语言是上个世纪50年代IBM的工程师开发出来的,主要目的就是帮助计算,并且Fortran是第一个开发的高级语言,而我们常常用到的语言要小的多呢,比如C语言是1972年被开发的,C++在1983年有了第一个程序,java是在1995年诞生的。所以,对于老一辈的科研工作者,最早接触的语言就是Fortran了,并且一般情况下,通过Fortran可以很好的解决问题,并且如果要转到其他语言上,代码的重写是要花费大量时间的,所以他们也就不再愿意学习新的语言,这样,Fortran语言才用到了现在。又比如说,为什么腾讯后台用的是c++,阿里用的是java呢?主要原因也是历史遗留问题,公司业务代码已经写了数十万行,如果要用其他语言写,就要重新来写,会花费巨大的代价,并且一旦他们使用了原有的语言,那么他们就会不断在周边优化,很多我们认为的弊端在他们那里很有可能已经解决了,所以就没有切换语言的必要性了。
Fotran语言主要支持数值分析与科学计算、结构化程序设计、数组编程、模块化编程、泛型编程、超级计算机高性能计算、面向对象编程、并行编程等等。之前提到,Fortran语言是又IBM的约翰带领一个团队创建的,开始就是为科学计算开发额,之后才不断延伸和扩展为了一个高层次语言,最常用的版本是Fortran 77, Fortran 90 和 Fortran95。在Fortran77中添加了字符串作为一个独立的类型,Fortran 90添加了形形色色的线程,并支持数组处理。
如下是一个简单的Fortran程序:
program addNumbers ! This simple program adds two numbers
implicit none ! Type declarations
real :: a, b, result ! Executable statements
a = 12.0
b = 15.0
result = a + b
print *, 'The total is ', result end program addNumbers
如上所示,就是一段求解两数字之和的Fortran代码,结果如下:
The total is 27.0000000
可以看到,Fortran要以program开头,并且以end关键字结尾,另外,注释使用!,print可以在屏幕上输出数据, 代码行缩进,且Fortran是区分大写小的。
其他的语法其实都大同小异了。
参考文章:Fortran教程
了解fortran语言的更多相关文章
- 什么是fortran语言之fortran语言入门
Fortran源自于“公式翻译”(英语:FormulaTranslation)的缩写,是一种编程语言.它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域.FORTRAN语言以其特 ...
- fortran语言调用fortran写的dll
环境:vs2013+IVF 2011 有时候想把fortran写的常用的函数编译为DLL,以供不同的fortran exe调用,这时候应该怎样做呢?[参考 彭国伦老师 fortran95 程序设计 书 ...
- 第一周—Fortran语言学习
使用教材:Fortran95程序设计[彭国伦] 第二章 编译器的使用 编译结果的好坏 1.翻译正确 2.执行文件的运行效率 3.翻译出来的执行码的长短 4.编译过程花费的时间 5.编译器提供Debug ...
- Fortran调用C语言小计
先简单记录下问题,以后再给续解决方案 1,关于fortran中module的使用 2,没有参数可以正常调用,当需要传递参数时,由于两者语言的差异,字符串结束符号不同,应该注意 3,关于调用C函数时,调 ...
- [转载:]C#与Fortran混合编程之本地调用Fortran动态链接库
前言 C#发展到现在,已是一门相当完善的语言,他基于C语言风格,演化于C++.并依靠强大的.NET底层框架.C#可以用来快速构建桌面及Web应用.然而在我们的实际工作中,尽管C#已经非常完善,但还是不 ...
- 【C语言】C语言简介
目录: 1. [什么是C语言?] 2. [C语言历史] 3. [C语言标准] 4. [C语言特点] 1. 什么事C语言? · C语言是一门高级编程语言,用于人与计算机之间的沟通,就如同人与人之间沟通时 ...
- C/C++学习----C语言简介
[开发环境] 物理机版本:Win 7 旗舰版(64位) IDE版本:Visual Studio 2013简体中文旗舰版(cn_visual_studio_ultimate_2013_with_upda ...
- 要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)
在 C语言初学者代码中的常见错误与瑕疵(7) 中,我给出的重构代码中存在BUG.这个BUG是在飞鸟_Asuka网友指出“是不是时间复杂度比较大”,并说他“第一眼看到我就想把它当成一个数学问题来做”之后 ...
- C语言与MATLAB接口 编程与实例 李传军编着
罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...
随机推荐
- Linux后台开发工具箱
https://files-cdn.cnblogs.com/files/aquester/Linux后台开发工具箱.pdf 目录 目录 1 1. 前言 3 2. 脚本类工具 3 2.1. sed命令- ...
- C#程序集问题:混合模式程序集是针对“v2.0.50727”版的运行时生成的.....
今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版 ...
- 【笔记】CSS选择器整理(IE低版本支持性测试)
时间:2015.05.11 参考附件:css选择器.xmind(网友共享) 查看链接:http://www.w3school.com.cn/cssref/css_selectors.asp htt ...
- 分形在遥感和GIS中的应用
GIS等高线化简 遥感图像的追踪 分形matlab实现:分形应用于遥感图像处理 低分辨率和高分辨率图形它们的形状是相似的(图像增强) 贪吃蛇和蚁群算法:试想管中窥豹,一只小蚂蚁 ...
- 中国移动物联网平台数据转发 c# 控制台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- tlink平台数据转发 c# 控制台程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.N ...
- POJ3723--Conscription(MST)WRONG
Description Windy has a country, and he wants to build an army to protect his country. He has picked ...
- thrift学习总结
thrift 重要的几个组件有 :数据类型,transport,protocol,versioning,processor 1.数据类型 thrift的数据类型有1.一些原生类型,比如string,i ...
- 关于QT应用在XP系统上兼容运行的问题
修改兼容XP: 1. 项目属性->配置属性->平台工具集:Visual Studio 2013 - Windows XP (v120_xp) 2. C/C++ 属性-> 代码生成-& ...
- Tarjan求缩点化强连通图
Describe: 求一个有向图加多少条边可以变成一个强连通图 Solution: Tarjan缩点染色后,判断出度和入度,所有点的出度 = 0 的和 和 入度 = 0 的和的最大值即为所求. 缩点染 ...