西西河

主题:我经历的三次工业革命 -- 冷口关

共:💬44 🌺699 新:
全看树展主题 · 分页 上页
家园 FORTRAN语言我进大学以后最早学的课程之一

用的还是当时的最新版本FORTRAN 77。

之后学的是Pascal,在学校计算中心的Honeywell小型机调程序,进去时还要换上白大褂和拖鞋,好像也是我第一次进空调房。

印象深刻的是Pascal之父沃斯的一句名言:算法+数据结构=程序。

还记得有一个作业是从系统里调出一个加密文件,然后解密显示。

程序调通后我发现在终端上逐行显示的是Bridge over troubled water的歌词。当然,知道Simon和Garfunkel是更晚的事情了。

哦,应该还有一次作业是用递归法解决河内塔问题。

不是
家园 看起来好亲切

各种看到过的计算机语言,BASIC,FORTRAN,C,ADA,COBOL……不过除了BASIC学了几节课以外一个都不会,哈哈。还有什么编译语言、汇编语言、机器语言的区别。

家园 不光生物,学力学相关专业的也多半会fortran

93年上大学,我们学的用的就是fortran

通宝推:村长的野望,
家园 swell兄所说,让我到ada

网上关于娘娘的神话,一个是老美自己都无法重开生产线;另外一个就是飞控用ada写的,会的人,现在好像都已经是老眼昏花的真 大爷。

不知道是不是真的。

家园 现在还有拧一下的定时器,淘宝上多

家里厨房煮个蛋什么的,那玩意还是挺方便。

娃娃小的时候,也用过。拧到说好时间那,铃一响,就可以不写字了。娃娃挺喜欢

家园 第二个肯定是假的

都是干这个的,工程上的东西,越是祖传的,神秘的,越是没啥了不起的,只要你给钱我就一定能给你复制出来的。反倒是当前的,新的,从论文上刚扒下来的,没那么容易,需要点智力体力。 那些老程序,都是离汇编不远的东西,学计算机的必须得会,我这二把刀都会,有啥难的,现学也用不了一个月。反倒是python那些东西,我是真的会。但是新东西层出不穷,我都不敢说我精通,只能说常用的我还是会的。

老项目,为啥要开?那不是反复打所有人的脸吗?就算退一万步说,就是需要。那可以把35拉皮啊。这样大家面子多过得去,钱还多。所以你要说重开,那肯定是难度大;你要说35升级,保证没问题。

家园 被打开了回忆

当年看到最早的苹果机惊为天人,世界观都变了,后来看到286里的fortran更是感觉NB的平方,但是很快又觉得这玩意没用,因为学习电脑知识最大的动力是修改游戏,fortran好像没卵用。

家园 感觉你们温州的发展整体上比我们要早10年
家园 等等 核动力雪龙号 -- 补充帖
家园 只有老程序才用Fortran

新程序基本都是C++,比如最新的风电有限元程序NALU。还有个趋势是用常用语言把要解的方程写好,然后到底调用什么库来解方程用户就不用关心了,最后读取答案就行,比如用Python的Fenics,这个概念出现很早,但当年安装各种乱七八糟的不同语言的库仍然是个极为头疼的问题,直到近些年出现Anaconda,一句conda install全搞定了。。。

打孔带倒不是啥大问题,对齐了就行,python也得对齐啊。Fortran最2B的是某些版本读入文件时要求文件的最后一行为空行,否则报错,用户一遍又一遍的检查输入文件,却发现什么错都没有,这时你及时出现,装逼的打开vi,在文件末尾敲了一下回车后存盘退出,然后就可以在小姑娘心中封神了。因为受过Fortran的荼毒,如今俺不管写啥玩意在最后一定多加几个回车,不加难受,都成强迫症了。。。

家园 第二个貌似是真的

F35的一大亮点就是用C++重写飞控,据说F22的代码80%是ADA,而台风战斗机据说是纯ADA。。。

家园 Fortran语法哪里严格

一堆上古遗存,比如IJKLMN开头的变量默认为是整型数,公用区谁都可以调用,goto来goto去,甚至可以用打印语句改变字符串的内容,读七八十年代写的代码想追踪变量到底在哪变了,都会骂娘的。。。

这破玩意能活到现在主要就是因为,一些古老软件懒得重写而已。另起炉灶全新重写的程序就没见过用Fortran的。。。

另外最好的Fortran编译器是英特尔的,在英特尔CPU上能比别的编译器快不少。

家园 F35升级可没你想的简单

最早出来的那批据说软件都升不了级,干脆转去当教练机了,嚯嚯

家园 同感

俺以前在公司维护一个恐龙级算法模块,计算内核是用Fortran在二十多年前写的,宛如王婆婆的裹脚布——又臭又长。一个函数,常常能有几十个参数,几百行的长度,还时不时来个“goto”。让早已习惯使用C++的我,是苦不堪言。有时候,真恨不得推翻所有代码,重新写一个。

其实,原始代码的编写者,我也认识,这是一位老研究人员,专业水平,那是没得说,但编程水平,惨不忍睹,贻害无穷。

无奈,这是工作,不得不认真阅读代码,颇是耗费了不少脑细胞。光简单的动态分配和释放内存,源代码中基本没有,对于小程序而言,无所谓,可对于俺们这种动则几十、上百T的计算量,会导致许多严重问题。另外,还得加入并行计算的代码,充分利用硬件的多CPU特性,以及充沛的计算机集群资源,而这在二、三十年前,是普通编程者不可想象的。

在完成基本改造之后,该模块的计算速度呈几何级数提高,而我也记录了一厚本笔记。不过,由于是在原代码上改动,在该模块上,即使是添加一个新参数,也至少需要改动二十多处。

离开公司的时候,我想,如果再有人去动这个程序,他/她可能否胜任?

通宝推:empire2007,北纬42度,秦波仁者,
全看树展主题 · 分页 上页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河