林向田

每个人都有很多故事,我们喜欢听故事也喜欢讲故事。从故事里我们可以得到感慨,共鸣,力量。
个人资料
正文

从美国航空局故障谈计算机软件

(2023-01-14 06:15:15) 下一个

周三凌晨,美国联邦航空管理局(FAA)航空任务通知(NOTAM)系统出现故障,扰乱了全美国的航空系统。东部时间8点50分,FAA宣布,正常的空中交通运营正在逐步恢复,同时继续调查问题的原因。截至当天美国东部时间周三下午3时,美国境内有8609架次航班被延误,1251架次航班被取消。

按照航班操作流程,飞行员会在起飞前检查航空任务通知(NOTAM)系统,该系统会提示飞行员注意跑道关闭、设备故障以及沿航线或可能影响飞行的位置的其他潜在危险。

关于事故的原因,美国联邦航空管理局对外公布的是“我们的初步工作已将事故追溯到一个损坏的数据库文件。“(Our preliminary work has traced the outage to a damaged database file.)

联邦航空管理局上述的说法根本就不是事故的真正原因。无论是中文“损坏”,还是英文“damage”都是指物理性破坏(physical harm),联邦航空管理局的计算机发生物理性损坏的可能性非常小的。NOTAM系统突然失灵的最大的原因应该是人为失误(软件故障)或是美国联邦航空局的基础技术(软件太落后)导致数据库文件出现问题。

联邦航空管理局如果对外公布是软件故障或软件太落后就要承担管理不力的责任,“损坏的数据库文件”可以让不懂计算机的人认为是天灾。

谈到软件落后的问题不能不提到应用最广的计算机语言COBOLCOBOL 已经有63的历史了,很多大公司(80%)还都在用COBOL。两年前一项对来自49个国家的1104名公司计算机专家进行的全球研究发现,超过90%的公司继续将COBOL视为战略优先事项。研究还发现,83%的公司认为,他们将在未来10年或更长的时间内使用COBOL的应用程序。

COBOL语言这么老了,市场对COBOL程序员还有需求吗?引用网友侃-侃 的评论:很多大型银行系统仍然在用COBOL,现在基本已经没有哪个大学还在教学生用这个“63 years old”计算机语言,以至于时薪能比同类其他工作高出一倍。

COBOL容易学吗?看看网友pollyli 是怎么说的: 实话告诉你,不容易。我在刚刚上大学的时候学的MIS,学了很多门计算机课。我止步在一门计算机语言课叫cobol。那个语言两门课,有60%的人pass第一门,有60% pass 第二门。也就是整个课堂36%的人可以过。我过了第一门,第二门简直是地狱。整天整夜在computer lab里run程序。code做出来,就是不能run。也找不到bug,实在折磨人。我实在没办法只有drop这门课。我本身不是一个理科脑袋,就去学我喜欢的专业了。我还有一个好朋友,她过了所有可课,以GPA 4.0毕业的。 那意味着126学分全优。那么优秀的她,进了计算机公司后,两年被lay off,再也没干这行。她工作的时候就觉得很不喜欢。这真的要看你是什么样的人。做这份工作做不好,就是进公司了也很苦恼。
 

 

[ 打印 ]
阅读 ()评论 (54)
评论
我是秋云 回复 悄悄话 老痴呆败灯选用的同性恋交通部长对交通管理一无所知是导致此次航空故障的根本原因。
林向田 回复 悄悄话 回复 '土豆-禾苗' 的评论 : 谢谢,也给你拜年。
土豆-禾苗 回复 悄悄话 给林老师拜年,兔子年健康平安,不用再打疫苗 :))
林向田 回复 悄悄话 回复 'canhe' 的评论 : 谢谢,也给你拜年。
canhe 回复 悄悄话 大年初一给向田兄拜年啦!祝兔年新春吉祥如意安康幸福!事事都兔飞猛进!
林向田 回复 悄悄话 谢谢下面各位。
祝你们兔年大吉、鸿兔大展、兔飞猛进、前兔无量!
夏圓 回复 悄悄话 林老师兔年吉祥!
housewife2010 回复 悄悄话 林老师兔年大吉,万事如意!
淡然 回复 悄悄话 给向田兄拜年了,祝兔年吉祥如意,阖家幸福快乐!
波城冬日 回复 悄悄话 问好林老师, 祝兔年吉祥 万事如意!
林向田 回复 悄悄话 回复 'housewife2010' 的评论 : 不能总是去关注那些负面的东西,转移一下注意力。
housewife2010 回复 悄悄话 我这个外行跟着涨姿势了,谢谢
林向田 回复 悄悄话 回复 '大荣确' 的评论 : 我们当然不是业内的专业人士,只是有网友提到了cobol,就借机议论一下。
林向田 回复 悄悄话 回复 'laopika' 的评论 : 现在没有计算机,世界马上就停摆了。
林向田 回复 悄悄话 回复 'markyang' 的评论 : 其实软件的落后与否并不是重要的,对于航空、银行来说最重要的是安全可靠。
林向田 回复 悄悄话 回复 '菲儿天地' 的评论 : 刚刚在网上查看了一下CNN的报道。
菲儿天地 回复 悄悄话 回复 '林向田' 的评论 : 我是CNN上看到的。
大荣确 回复 悄悄话 这类事情不是业内的专业人士十有八九说不到点子上。
疫情前的航空业务比现在多得多,用同一套系统多少年没发生过问题。
近期西南航空和这次空管的事情,倒是亡羊补牢的机会。

laopika 回复 悄悄话 也许是过多依赖了计算机,一旦系统崩溃,只能瘫痪了,俺说的是外行话,林兄见笑了。
markyang 回复 悄悄话 做过联邦政府的项目,并不是想象的那么落后,只是比流行晚个5到8年左右,当然不能和高科技行业对比,但是比较很多大型企业并不算太落后
林向田 回复 悄悄话 回复 'soullessbody' 的评论 : Because of its ease of use and portability, COBOL quickly became one of the most used programming languages in the world. Although the language is widely viewed as outdated.
soullessbody 回复 悄悄话 回复 '林向田' 的评论 :

先是供应链一团糟,然后航空管理系统又完蛋。

https://apnews.com/article/biden-cabinet-climate-south-bend-transportation-pete-buttigieg-254dc53fb5630266bf806713f37cf818

https://www.breitbart.com/politics/2021/02/25/secretary-pete-buttigieg-makes-fight-against-systemic-racism-centerpiece-of-transportation-department/

BTW,我半路出家学MIS的,上学学过几个学期Cobol,后来还写过些TAL。和后来的C,C++,Java比,Cobol的确效率很低,不容易实现更聪明的功能。
林向田 回复 悄悄话 回复 'soullessbody' 的评论 : 你说的news 我还不知道。
林向田 回复 悄悄话 回复 'momo_sharon' 的评论 : 新的一年,想提醒自己不要太去关注墙国的负面东西,写一点其它的东西。
soullessbody 回复 悄悄话 楼主说的很多valid points,不过这个休产假还带着假奶给领养孩子喂奶的交通部长搞政治正确,弄些水平不够但其他符合CRT和觉醒文化的人来做项目,计算机可不能随便打马虎眼。
momo_sharon 回复 悄悄话 太专业了,不懂,哈哈!
林向田 回复 悄悄话 回复 '麦姐' 的评论 : 我尽量想写得通俗一点,但是还是不容易被非计算机行业的人理解。
林向田 回复 悄悄话 回复 '花刺猬' 的评论 : 前面我已经说了,这种可能性连万分之一都不会有的。
林向田 回复 悄悄话 回复 '花刺猬' 的评论 : COBOL和 Mainframe 还有很强的生命力。
林向田 回复 悄悄话 回复 'beijingconnection' 的评论 : 是的,很多工作都移到印度去了。
林向田 回复 悄悄话 回复 'jimzhen2021' 的评论 : 谢谢分享链接。
林向田 回复 悄悄话 回复 '世界在我心中' 的评论 : 谢谢。
花刺猬 回复 悄悄话 damage 也可能存储出问题。比如mirrored disks 有一份坏了没发现,然后另一份也坏了。还有二份存储同时坏了!
花刺猬 回复 悄悄话 COBOL主要用于Mainframe 上。三十年前就普遍认为Mainframe 将要被UNIX取代,所以好多人都转行了!但是到了今天,大部分用Mainframe 的机构还继续!但是年轻人不愿学老古董,另外也是很难学,再次也是没机会学!
麦姐 回复 悄悄话 不懂IT,学习了,谢谢林兄分享。
beijingconnection 回复 悄悄话 Cobal不难学,但写出程序的方法已过时,费时费力。主要是存放多年数据的大型数据系统一直在使用,很难替换。许多工作也移到印度了。年轻人也不愿学习老的技术。
jimzhen2021 回复 悄悄话 做了一些研究。NOTAM 基本上是Oracle 数据库应用系统。下面是政府公开文件. 有兴趣放大读一下
https://www.google.com/books/edition/Departments_of_Transportation_and_Treasu/aPiqwmF_WY8C?hl=en&gbpv=1&dq=NOTAM+database+is+oracle&pg=PA549&printsec=frontcover
世界在我心中 回复 悄悄话 多谢介绍,了解了这次事故的原因,周末愉快
林向田 回复 悄悄话 回复 '平等性' 的评论 : 你对癌症治疗的研究更趣,也更有用。
林向田 回复 悄悄话 回复 '新林院' 的评论 : 这个可能性小于万分之一。
林向田 回复 悄悄话 回复 'lzr' 的评论 : Cobol是不难,但是要想做好mainframe developer 也不容易。
平等性 回复 悄悄话 林兄好文章,有趣!COBOL语言我听说过,真的有年头了 :)
新林院 回复 悄悄话 【关于事故的原因,美国联邦航空管理局对外公布的是“我们的初步工作已将事故追溯到一个损坏的数据库文件。“(Our preliminary work has traced the outage to a damaged database file.)联邦航空管理局上述的说法根本就不是事故的真正原因。无论是中文“损坏”,还是英文“damage”都是指物理性破坏(physical harm),联邦航空管理局的计算机发生物理性损坏的可能性非常小的。】
file damage 还是有可能的。
可能原因之一就是宇宙射线(Cosmic rays)。
宇宙射线能造成 bit-flip,把记忆储存里的0变成1,或把1变成0。
lzr 回复 悄悄话 不是Cobol难学,是Cobol容易写出很难维护的程序。
林向田 回复 悄悄话 回复 '水星98' 的评论 :不止是“还在用”, 现在还很俏。
林向田 回复 悄悄话 回复 'ahniu' 的评论 : https://www.zdnet.com/article/programming-languages-how-much-cobol-code-is-out-there-the-answer-might-surprise-you/
水星98 回复 悄悄话 我80年代在国内大学教书时,就有同行在教COBOL,没想到现在这么多年了还在用。
林向田 回复 悄悄话 回复 '菲儿天地' 的评论 : 谢谢, 我还没有看到:“一个电脑系统工程师在常规维护过程中错误地将一个文件复制到了另一个文件”。
ahniu 回复 悄悄话 80%?

give a link pls.
菲儿天地 回复 悄悄话 多谢林兄分享,据称不是FAA这个系统的程序设计问题,而是因为一个电脑系统工程师在常规维护过程中错误地将一个文件复制到了另一个文件,造成数据库和整个系统(NOTAM)的崩溃,不得不重新启动。 主要是人为的因素,但FAA这个系统也很陈旧了,维护,更新扩展都较困难,另外几十年前的技术在现在的专家也不多了,各种步骤程序也不是State of Art。哎。
林向田 回复 悄悄话 回复 '梅华书香' 的评论 : 谢谢。
梅华书香 回复 悄悄话 学习啦,祝周末吉祥如意,快乐开心!!
林向田 回复 悄悄话 回复 '我爱栀子花' 的评论 : 如果FAA的系统用的是COBOL,现在不容易找到COBOL 程序员。
我爱栀子花 回复 悄悄话 估计系统太落后,人才也缺乏。
[1]
[2]
[尾页]
登录后才可评论.