从波音飞机看,印度编程到底有多渣?
不懂的童鞋请不要瞎说。
飞机是极其复杂的系统,飞机级需求掌握在集成商手中,大飞机集成制造商也就是abc。就737系列来说就是波音。
对于需求来说,这种重要的飞控系统肯定是dal a,那么最高级别validation是必须的。validation是验证需求逻辑正确和完整的活动,换句话说波音没有发现飞机或者系统级逻辑缺陷。
另一个独立的部门是安全,安全工程师要给需求提出安全方面的问题。如果安全方面也没提出疑问,那也依旧可能有其他独立关注点会牵扯到这样的需求。
如果这一切都没发现问题,那么恭喜了,给到软件的底层需求就是要求俯冲。至于外包给谁,都是按照俯冲来验收。所以说,印度软件工程师完美的实现了波音的***俯冲机制。给印度码农点个赞。
硬件零件怪中国,软件外包甩印度。最终是谁的问题,显而易见吧。
因为这个攻击印度的开发者有点过了,不要用开发互联网那些个灰度测试去臆测工业上的软件,甚至某些企业级软件在上线前的测试也会复杂无比,当安全稳定的性能到一个量级的时候,很多时候就不是程序员能单独解决的,比如飞机,比如核电,比如航天,比如精密机床等等,在这些领域设计,开发测试都经过了严格的设计和分析计算,如果出现问题,基本可以认为从源头就是错的,来自于开始预研规划和设计。
印度能承接美国的此类项目,可见印度在相关领域有很深的研究和丰富的经验,这个也不是吹吹牛就能被认可的,此类批评不过是柠檬精的呐喊而已。
补充一点:看了其他答案,很多答案和我的相近,这个反应了头条的回答质量的提高,不再被带节奏的影响,实事求是的回答问题
替印度人说两句话啊:这锅不能甩给印度。
微软前几年萎靡的要死,当时还是鲍尔默掌权的时候,搞了一堆的烂事,win8被诟病,WP被IOS和安卓暴打,云计算毫无突破,后来换了印度人CEO纳德拉,微软一下子翻身,远强过当年的鲍尔默,印度人在IT业还是有两把刷子的。
印度有很多公司做软件外包,比如说infoys,当然我也不清楚是不是infoys接的这个活,但是外包公司是根据发包方来执行的,并且在项目完工以后还是要经过发包方的检查的,发包方,也就是波音公司才是决定项目的关键公司,外包方只不过执行的是波音的意志。
***设这个问题没有阴谋论的前提下,是波音公司自己的问题。波音自动纠正失速系统出了大问题,导致即便是人为干涉,依然不能正常运行,而且波音目前只依靠两个传感器来激活自动纠正失速系统,没有冗余设计,根据华盛顿邮报的报道,中国飞行员也遇到过这类情况,是后来中国飞行员及时关闭系统,接管了飞机,才避免了大祸。
给中国飞行员点赞。
实际上波音过去不是这样的,波音当年造飞机,在安全上的理念就是百分之百的相信飞行员,一旦飞行员判断需要接管飞机,就可以立即断开自动驾驶,由飞行员来接管飞机,但是现在的情况是由于波音737 max的新引擎涵道更高更大,机翼位置更高更远,导致会破坏飞机稳定性,因此才有了飞行控制的增强装置。
这个问题可能跟程序员的工作流程有关系,他们只是“码农”,严格按照需求写代码,别以为他们随时都可以拿飞机来调试程序。因此甩锅给印度码农也不大对。
但如果最终调查结果发现问题真是出在软件开发环节,而不是软件质控或者最终整机质控环节,那么也可以挖掘下印度软件开发行业的某些痼疾。
印度程序员是非常循规蹈矩的程序员,那些“优秀的”印度的年轻人接受的是西方那一套近乎教条的培训体系,培养出一大堆流水线工人似的程序员,这和在美国和欧洲本土拿着高薪水享受创作人生的那些程序员的状态是不一样的。
这些“标准码农”以刻板的流程来开发程序,严格根据需求设计来开发,如果系统太庞大,某些程序员对应用的概念甚至是脱离实际应用场景的——也就是说他脑子里想的不过是一架运行在电脑模拟场景当中的理想飞机——各种软件业的标准和范式贯彻始终,程序开发人员按规范写完代码,然后交给单元测试人员严格地设计单元测试程序来测试,专业度应该是不低的。测试通过,开发这道工序就算完了,谁关心后面的场景?或许中间的程序员还不知道这程序是管飞机的哪个部件的吧!
但飞机这么大个应用场景,安全性要求又高,不可能把锅都甩给码农,毕竟他们只是末端的劳动力,在飞机整体系统的测试当中,难道就没有设计相关的故障模拟测试项目?波音公司那些高级工程师都干嘛去了?