内刊访谈

[特别策划] 走出工业软件发展的认识误区

发表时间:2019-11-05 16:48:00

文/安琳

 

  安琳:中国软件评测中心主任助理,智能制造测试验证与评价工信部重点实验室主任
 

  提话:工业软件是工业领域应用知识的表达,工业软件程序员和工业工程师本应没区别。掌握先进工业知识的企业是少数,因此成功的工业软件本来就不会太多,而且领先者还越跑越快。当前,重要的是要培养融程序员和工程师一体的人才,督促大企业树立危机意识,对企业进行严格的知识产权保护。
 

  最近一段时间,业界关于国内工业软件短板的讨论又热烈起来,行业人士从各种角度热议工业软件对智能制造和制造业升级的关键支撑作用,也频频呼吁社会各界对工业软件发展予以关注和支持。但是,仅仅说明其重要性还是不够的。从1991年“甩图板”工程开始,我国就已经从国务院和部委层面对工业软件的发展和应用进行了系统性的部署,当时的一代甚至两代工程技术人员为此付出了巨大的心血。时至今日,几乎30年过去了,包括CAD(计算机辅助设计)软件在内的工业软件市场,国内产业整体看几乎没有形成与国际同行竞争的能力。那么,这究竟是为什么?现在我们能做什么?
 

  工业软件的本质是工业知识
 

  软件是什么,是程序的集合。“软件”二字,是与“硬件”共生的概念。“件”是组件的意思,具体指计算机系统的组件。计算机系统要想运转,需要有一些物理的零部件,也需要有程序。那为什么叫“软”件呢?是因为在1960年代计算机发展的初期,程序设计是少数聪明人干的事。他们的智力与技能超群,编写的程序既能控制弱智的计算机硬件,又能让别人看不懂、不会用。那个时期编程就跟捏泥巴一样随心所欲,于是他们很过分地把程序的集合称为“软”件,以便自己开心或伤心时再把程序捏个面目全非。就是这么离谱。

  程序是什么,是知识的代码表达。程序是“编”出来的,是程序员想好了让计算机做什么和怎么做,然后用他可以理解和执行的代码写出来,输入计算机让他照办。所以一个程序员给一段程序赋予的价值至少有两部分,一是干什么事和做事的方法(就是算法),二是描述算法的代码的质量和效率。随着程序越来越多,慢慢就分成了两大类,一类是计算机科学知识的代码表达,这种程序致力于解决怎么更好地调度指挥硬件,怎么能生成更有效率的机器代码,这就是基础软件,是操作系统软件和开发工具。例如windows的繁荣带动了VC系列的繁荣,VC系列的繁荣也促进了windows的生态。事实上几乎每一个计算平台都对应着一个开发框架甚至框架体系,而这个框架和体系关乎程序员的饭碗。Github每年都会有一个很搞笑的榜单,告诉开发者当年最不值得学习的5个编程语言。另一类是领域应用知识的代码表达,这种程序致力于解决怎么更好地利用计算机的算力来解决实际中遇到的问题,这就是应用软件。

  工业软件属于应用软件,是工业领域应用知识的表达。既然软件需要程序员先知道怎么干,再告诉计算机怎么利用其算力更快更好地干,那么工业软件也需要程序员先知道解决工业领域问题的方法,再告诉计算机赶快运用这些方法,发挥算力优势,把具体问题的解决办法“算”出来。那么问题来了,工业软件程序员和工业领域工程师有什么区别?工业软件技术和工业技术有什么区别?笔者想说的正是,没区别。

  因此,在今天一部智能手机都能提供巨大算力的时代,工业工程师也需要学会编程。通常我们认为工业软件不行,是工业软件公司的问题,而不是工业工程师的问题,但事实上,世界上哪一个成功的工业软件公司,不是一个工业公司,或者不是与工业公司保持战略性合作关系的公司呢?
 

  优秀的工业软件本不多
 

  我国发展工业软件多年,直到今天在研发设计仿真等高端核心领域几乎没有话语权,笔者认为原因有两点:

  一是成功的工业软件本来不会太多,至少不会像手机上的APP那么多。工业软件既然是工业知识的结晶,就意味着成功的工业软件本来就不会太多。因为掌握先进工业知识的企业是少数,而就在这少数的公司中,还只有达到一定规模的企业才有自发需求把技术软件化以便在企业中共享和传承。几乎所有成功的工业软件,其诞生都是因为企业自用。对于掌握着领先技术的工业企业来说,他们开发软件工具真的不是为了向软件公司转型,至少一开始的时候不是这么想的。

  二是领先者越跑越快。本来玩家就不多,市场集中还发生得特别快,因为跑得快的在并购跑得慢的。考虑到好的工业软件本来就不多,所以并购几年也就没得可买了。今天我们看到的全球工业软件市场几乎八成以上的份额被五六家企业分享,其中至少包括西门子、SAP、达索。而这些公司的工业软件产品每一个都不是孤立的,而是用各种各样的平台把软件工具串成了“项链”。只要他们的某款工具产品优秀到把住了用户的某一个刚需,那么用户买这款工具的同时,为了数据和业务管理的需要,也会顺着这颗“珍珠”买下多半条甚至整条“项链”。正是因为如此,我们才看到工业软件公司“大佬”之间也基本上是分行业而治的,每个“大佬”有他最擅长的领域。

  上述两点笔者认为是工业软件市场最突出的特征。

  值得强调的是,当前这样的市场并非不利于创新,事实上恰恰相反,开发者和投资者都很激动。因为无论谁抓到一个需求,开发出被验证是好的产品,都可以确定会被大公司以不错的价格迅速收入囊中。类似并购案例在最近几年经常发生,这种状况自然也会驱动创新。但问题是,国内主流舆论讨论的似乎并不是这样的创新,更多的则是类似于“谁是我们的西门子”这样的灵魂拷问。
 

  至少还需要做三件事
 

  但我们现在至少还需要做到三件事情:

  第一件,是要关注人,人是一切。如果一个公司中最优秀的人才,最强悍的部门是做某项业务的,那这个业务一定是这个公司的主营业务或者是公司要在一两年内将其打造成主营业务的。对于国家,道理也是如此。一个国家最优秀的人才中如果有相当大的比例是在服务于制造业,这个国家一定是制造强国。所以要振兴工业软件,先振兴工业软件相关人才。而且不要再把程序员和工程师对立起来,至少工业软件的程序员就是工程师,两件事可以合成一件事抓。如果我们看看这几年大学的招生数据,会发现这事情已经刻不容缓。因为很多知名大学的机械学院、自动化学院这几年招生规模都没有明显上升,甚至有所下降。

  第二件,是要督促大企业树立危机意识。企业做大了,出于技术安全的考虑,自己也会加大投入进行技术的消化和吸收。但是这事有个政策导向的问题。中兴和华为先后遭受了同样的风险,但至少目前看来产生了不一样的结果,大家知道还是因为华为有一定的技术和供应链储备。但是我们要关注的是为什么华为比中兴有更多的技术和供应链储备。我觉得民营企业的危机意识并不是坏事,我们要思考怎么能让更多的大企业都有这种危机意识。

  第三件,是要营造公平公正鼓励创新的氛围。在创新这件事情上要开放,要更多利用市场机制。公共环境需要做到的是严格的知识产权保护,给企业信心比给他们资金要重要得多。创新需要更好地利用市场机制,让市场机制发挥资源调配作用。其中,公共政策重点考虑的应该是如何调动社会资本关注工业软件领域,如何给社会资本更多信心。