了解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 ************ ...
随机推荐
- C++STL 容器比较
Vector的使用场景:比如软件历史操作记录的存储,我们经常要查看历史记录,比如上一次的记录,上上次的记录,但却不会去删除记录,因为记录是事实的描述. deque的使用场景:比如排队购票系统,对排队者 ...
- js setInterval详解
[自己总结]: 语法 setInterval(code,interval) ①可以有第三个参数,第三个参数作为第一个参数(函数)的参数 ②第一个参数是函数,有三种形式: 1.传函数名,不用加引号,也 ...
- REST WebService与SOAP WebService的比较
在SOA的基础技术实现方式中WebService占据了很重要的地位,通常我们提到WebService第一想法就是SOAP消息在各种传输协议上交互.近几年REST的思想伴随着SOA逐渐被大家接受,同时各 ...
- doc.getElementById(id); null
Open Declaration Element org.w3c.dom.Document.getElementById(String elementId) Returns the Element t ...
- PreTranslateMessage(MSG* pMsg)专题
.. BOOL CQuickMosaicDlg::PreTranslateMessage(MSG* pMsg) { if (pMsg->message==WM_KEYDOWN) //键盘按下 { ...
- Hdu2389 Rain on your Parade (HK二分图最大匹配)
Rain on your Parade Problem Description You’re giving a party in the garden of your villa by the sea ...
- [au3]复制选择性粘贴文本到excel
案例:在一张网页上有许多你要复制的内容,但是你必须一个一个找到他们,然后一个一个复制出来粘贴到excel表格里.时间一长你的眼睛容易花,而且复制多了容易出错. 方法:当然有许多方法可以自动化的做这一件 ...
- ajax点击加载更多图片
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- Spring中注入bean学习的总结
1.在类上直接加注解@Component,那么这个类就直接注入到Spring容器中了 ,像@Contrloller,@Service这些本质上都是@Component, 2.@Configurati ...
- wordpress和数据库的连接
1.首先在数据库里创建wordpress数据库 2.在网页上配置WordPress,安装WordPress 如上配置不对,提交时提示了错误,于是我选择了root用户 123456, 3.提交后,连上了 ...