从专业技术看,工业软件开发其实也不是特别难。关键是思维方式要融合,还要融合得天衣无缝。
我经常讲一个段子:老婆让程序员出去买五个包子;如果遇到卖西瓜的,就顺便买一个过来。结果,程序员买了一个包子回家。他的理由是:看到卖西瓜的了。如果这是个段子的话,下面的故事是真实的:我的一位软件专业硕士毕业的同学让一位程序员在“386”上加上“111”。结果,程序员给他的数是“386111”。
程序员的思维方式与“正常”的思维确实不太一样。正如司机选择路线的逻辑,和步行者不一样。前些日子,我参与一个讨论:如何把大的软件,拆成小的app。我说:没有必要把大的拆小,只要把其他功能封闭就可以了。在物理世界里,“拆”是更经济的,但在软件的世界里,“封”往往更经济。最近大数据技术之所以称为热点,是因为计算机的发展,让一些“笨办法”变得更有效了。
我曾经要同事写段程序。写完后,他让我检查。看完后,我要求他重写这段代码。他问我:什么地方错了?我回答说:我看不出哪里错了,但我无法证明你是对的。
这个故事则反应了工业软件的特点:对可靠性要求特别高。这种特殊性,让工业软件的思维方式,与普通软件开发又有所不同。
有位同事,写了3000行程序。调式结束后,我让她把三个全局变量改成两个。这样,整个程序都要重写。我对她讲:这样做的目的,是让检查的人方便。因为做检查的时间,比写程序的时间要长。可谓“一天编码、十天检查”。所以,检查的效率高了,整个研发的效率也就高了。有时候,工业软件往往是“一行代码描述功能,十行代码防错”。因为工业软件往往不允许在使用过程中出现严重的bug。
为了提高可靠的程度,写软件时要考虑到各种意外的场景与异常。正常的场景只有一个,而意外的场景可能有很多。可谓“一种正常场景,十种异常场景”。而现实中,最难防备的就是“预料之外”的问题。这就要求对工业场景特别熟悉
工业人的思维方式,与学术界差别很大:你以为某个技术可以提高产量,但现实中可能不能用:因为它可能影响质量。你以为某个改进可以提高质量,现实中可能也无法用:因为它可能影响安全、稳定。不理解这些“约束”,就写不出合用的软件。
要解决这些问题,本质上都是要解决知识融合的问题。对于不善于交流、不喜欢讨论的中国人来说,知识融合是个很大的挑战。有时候,与其让别人说明白,还不如自己成为这个领域的专家。其实,我的建议是:至少你要成为半个领域专家,才能去开发工业软件。
本文来源:郭朝晖
原文标题:工业软件与知识融合
文章出处:【微信公众号:智能制造】欢迎添加关注!文章转载请注明出处。
欧比特募集资金不超过17.29亿元投资人工智能芯片研发等项目 将为公司可持续发展培育新的利润增长点
华润微2020年净利润预增超130% 整体产能利用率较高
微软:4月将推出全新一代的Surface Laptop 4
东大金智科技40GBASE-SR4 300m FTL410QD3C模块介绍英文版
今年上半年全球手机CIS传感器出货量20亿,SK海力士第三季度亏损大幅收窄
工业人的思维方式与学术界差别很大
ESD静电保护器在Microphone接口的保护应用
C语言中的回调函数
南北同启 | 美格智能多款5G+AIoT模组及解决方案亮相北京通信展与深圳电子展
镭神智能首次攻破国产激光雷达矿区无人驾驶应用难题——让灰尘“隐形”,不再遮“眼”
采用IRIG-A码输出的超小型GPS时钟设计
厉害了!上周被漫威复联刷屏 这周轮到“工业富联”了
7月份4Kx2K电视面板出货成长近一倍
总结几点防止电路失效的注意事项
【宜百利】双十二虽过,但活动仍在继续
深圳市创物联网生物安全科技生态品牌
刀具破损的声发射传感监测新技术
嘉兴12英寸大硅片项目实在太低调
电脑硬盘坏了的症状
感应同步器的信号处理