为什么从事尖端科研的研究人员仍然在使用计算机时代早期发明的语言?

标签: 尖端 研究 计算机 | 发表时间:2014-05-09 14:00 | 作者:知乎用户(登录查看详情)
出处:http://www.zhihu.com
短答案:理由有很多,但我认为最根本的理由是“ 历史的包袱

--------------------------------------------------------------------------------------------------------------------------------------

长故事:

计算机在很早就被美国用于科研目的,而在当年在语言上并有没太多选择。

举个我了解一些的美国 Traffic Simulation领域栗子(虽然这不算 尖端领域,但是我觉得道理是一样的):

其实在该领域美国早在70年代就已经开始计算机化,利用计算机程序来模拟城市/区域交通,进行信号灯的控制,路线的优化等等。而那个年代,C也还没成熟并被广泛利用,也正是Fortran的黄金时代(Fortran 66),。再加上Fortran本身特性也适用于科学计算,所以自然整个 Traffic Simulation软件的核心 CORSIM: Microscopic Traffic Simulation Model 是用Fortran写的。

而在这种专业领域的软件,并不是随便招个程序猿就能维护。而是需要程序猿和专业人士非常密切的交流,所以开发/维护软件的人一般也算是半个业内人员。这种程序员因为技术壁垒高,待遇自然也很高,相对稳定。相对稳定的人员环境,也导致即使后来C或者其他语言流行起来在Computer Science圈子流行开来,却无法渗透到这种专业性强的领域,没有足够的动力让程序员去迁移旧的Fortran代码到C上(况且,谁说在这种领域C就比Fortran好?)

虽然接下来80年代末,90年代初,GUI急速发展导致Fortran似乎已经开始不占优势了。但是要知道,这个时候Fortran已经被用了接近20年。所有核心module都是Fortran,再去迁移更不可能。于是乎折中的处理就是继续用Fortran做数据处理和计算的内核,外面套一层C的shell,于是乎就有了 TSIS

其他太尖端的行业不了解,但像问题中 美国国家大气研究中心的大气模型和气候预测程序NASA的全球气候变化模型等很可能或多或少都是经历着很类似的发展过程。

--------------------------------------------------------------------------------------------------------------------------------------

总结:当然Fortran作为语言本身,有他很多的优势,这些也是他在现在依然被运用的原因。但是说放到今天的环境下,如果给当年的程序员们再爱一次的机会,他们还会选择Fortran么?

利益相关:就不告诉你~

— 完 —
本文作者: 知乎用户(登录查看详情)

【知乎日报】 你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 3 个回答,查看全部。

相关 [尖端 研究 计算机] 推荐:

为什么从事尖端科研的研究人员仍然在使用计算机时代早期发明的语言?

- - 知乎每日精选
短答案:理由有很多,但我认为最根本的理由是“ 历史的包袱”. 计算机在很早就被美国用于科研目的,而在当年在语言上并有没太多选择. 举个我了解一些的美国 Traffic Simulation领域栗子(虽然这不算 尖端领域,但是我觉得道理是一样的):. 其实在该领域美国早在70年代就已经开始计算机化,利用计算机程序来模拟城市/区域交通,进行信号灯的控制,路线的优化等等.

研究发现计算机科学学位并不能给程序员带来相应的投资回报

- - Solidot
Stack Overflow 在英国调查了 4700 名程序员,发现计算机科学的学士学位并不能给程序员带来相应的投资回报,有学士学位的人比没有学位的人一年多挣 3000 英镑,而为了获得学位每年仅学费就要支出 9000 英镑,学生的贷款平均超过 5 万英镑. 调查发现,无高等学位的程序员年薪中位数为 3.5 万英镑,而有学士学位的人是 3.8 万英镑,研究生是 4.2 万英镑.

互联网大学时代来临:前斯坦福大学教授、Google X实验室研究人员 Sebastian Thrun推出一系列免费的顶尖计算机课程

- - 36氪
如果我们昨天的报道“ 创业公司The Minerva Project获得2500万美元的巨额种子投资打造在线版哈佛大学”还让你觉得互联网大学只是一个梦想,那么今天已经有一批梦想先驱先行开始了互联网大学的尝试. 前斯坦福大学教授、Google X实验室研究人员 Sebastian Thrun正式创建了自己的创业公司 Udacity,主要目的就是将顶尖的大学课程免费开放给全世界所有的人.

计算机学科漫谈

- - 编程 - 编程语言 - ITeye博客
    PHP设计模式之观察者模式. 在这篇博文里,我想和大家聊一聊自己对计算机学科的理解. 当下本科阶段的计算机专业教学涉及计算机学科的方方面面,分类繁杂,有时可能令新人茫然不知所措. 那么,对计算机专业的学者来说,什么是最重要的呢. 我相信,一千个读者,一千个哈姆雷特,同样的,每个计算机的学习者都有自己对专业的一番认识.

用户研究

- - 技术改变世界 创新驱动中国 - 《程序员》官网
介绍自己的设计流程时,设计师通常都说它是“以人为中心”或是“以用户为中心”的. 笼统地讲,这表示设计师经常要考虑所设计产品的潜在用户,尽力为这些人创造出最好的产品. 这个问题看似简单,实际上却不好回答. 好的设计通常都是从用户研究着手的. 我们如何才能发现人们想要实现的目标. 虽然这样做有时会得到一些有用的信息,但一定要小心地评估人们给出的答案.

JVM研究

- - 开源软件 - ITeye博客
每天接客户的电话都是战战兢兢的,生怕再出什么幺蛾子了. 我想Java做的久一点的都有这样的经历,那这些问题的最终根结是在哪呢. JVM全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机,这和我们使用 VMWare不一样,那个虚拟的东西你是可以看到的,这个JVM你是看不到的,它存在内存中.

天才计算机程序员 -- fabrice bellard

- 山石 - 小美的部落格
这位老兄就是写jslinux的那位,它的主页是:. 上面有他的几个作品,包括qemu,ffmpeg,tcc等. 这个世界从来不缺天才,只缺乏利用天分坚持理想和信念不断创新的人,这些人用恒心和努力缔造一个又一个传奇. 法国人Fabrice Bellard 就是这样一个了不起的程序员. Fabrice Bellard1972年生于法国,曾就读于巴黎高等综合理工学院和法国电信研究院.

计算机爱好者 VS. 程序员

- kapster - 博客园新闻频道
  本文是从 Hackers vs. Coders 这篇文章翻译而来.   优秀的计算机爱好者具有一种无价的技能. 可作为一名程序员会跟计算机爱好者一样吗. 难道程序员跟那些不知道如何编码的计算机爱好者们相比,会在创造性上处于劣势吗.   下面的这个故事让我看清了他们之间的不同.   我最近被邀请在一个周末创业活动中做指导.

计算机的10大经典错误

- chris - 伯乐在线 -博客
10、DOS的Abort,Retry, Fail. 85年以后出生的人可能不知道DOS是什么了,只有那老家伙还知道这是什么. 我还记得当时的我对于Abort和Fail这两个选择还是比较清楚的, 不过,今天完全忘记了Abort和Fail的差别是什么. 这个出是DOS下的经常出现,也相当的经典,以至于在Wikepedia上都有专门的业面 Abort, Retry, Fail?.

[图]计算机10大经典错误

- wu - cnBeta.COM
感谢404NotFound的投递. 10、DOS的Abort,Retry, Fail.