西西河

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

共:💬44 🌺700
分页树展主题 · 全看首页 上页
/ 3
下页 末页
          • 家园 FORTRAN语言我进大学以后最早学的课程之一

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

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

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

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

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

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

          • 家园 是Fortran

            没有Fortrun这种语言。3C3E当年恐怕学习不咋滴。

            这东西简直是灾难,工科非计算机专业的噩梦。而且阴魂不散。

            每年总能看到几个招聘广告,但是也只有几个,都是维护恐龙级老系统的。可以与之比拟的大概只有COBOL了。

            • 家园 FORTRAN居然还没死透

              https://www.silverfrost.com/14/ftn95/ftn95_fortran_95_for_microsoft_dotnet_features.aspx

              还有整到.Net里面的方案!😄😄😄

              FORTAN当年读书的时候有学过一学期,之后再也没碰过了。

            • 家园 国内部分高校还在教授fortran语言呢

              惭愧,我也只学过fortran,其他的语言都是在工作中现炒现卖:)

              在部分专业领域,由于过去积累下来的工具包基本都是fortran所写,导致这些学科学生还是要学习这门语言,只是版本刷新到visual fortran而已。

              此外,fortran严格的语法和简洁的风格,让追求运算速度的工作都喜欢。

              fortran真是绝对的老古董,那时流行的语言如cobol现在基本没人提起,但fortran还时不时被提及,真是难得。

              • 家园 Fortran语法哪里严格

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

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

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

                • 家园 同感

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

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

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

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

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

                  通宝推:empire2007,北纬42度,秦波仁者,
            • 家园 人家生命强着呢

              所有的主流有限元软件:应该可以用所有,因为不是的根本不是主流, 都是用FORTRAN写的。改无可改了。更狠的是,只能用FORTRAN 77,否则你也不知道编译到那一步就完蛋了。所以一个技能就是把别的语言翻译成77重写一遍(我就挣了不少钱)。

              高性能数值计算的大量程序库,特别是并行计算的一些基本库。C一般也行,但是FORTRAN更好。如果谁说用C++,或者其他的东西,不用问,不是业内人士。

              当年打孔带的宽度,决定了一行的长度。这真是害死人啊。

              • 家园 只有老程序才用Fortran

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

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

              • 家园 swell兄所说,让我到ada

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

                不知道是不是真的。

                • 家园 第二个肯定是假的

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

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

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

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

                  • 家园 第二个貌似是真的

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

          • 家园 不是

            叫fortran,或者说全大写。是formula translating system 的意思。公式翻译器。把公式翻译成机器能懂的语言的意思。IBM发明的。由于及其简洁所以编译运行效率奇高。

            • 不是
              家园 看起来好亲切

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

            • 不是
              家园 就是Fortran

              90年代初Fortran和Basic都是非常成熟的编程语言,普通理工科的大学生都会有接触,C++也已经有了,这个计算机专业的接触多。

分页树展主题 · 全看首页 上页
/ 3
下页 末页


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

Copyright © cchere 西西河