软件工具化是软件创新发展方向
2018-03-08
作者:中国软件行业协会嵌入式系统分会 中国嵌入式系统产业联盟 郭淳学
摘要: 软件是使用计算机的工具,但还没有完全成为计算机用户也可简便使用计算机的工具。当前,在软件定义一切的理念下,软件公司和软件技术人员主导着各行各业的信息化,由于软件技术人员在短时间内不能全面准确的了解用户相关的业务,所编制出来的软件应用系统与实际信息化的需求有时存在偏差,又由于软件自身的问题也不能及时通过更改去掉偏差,有时还不得不反复重新编制软件应用系统。这不仅造成人员、资金、时间的浪费,还严重影响相关用户的信息化进程。根本改变软件在编程方面的弊病,需要尽快进行软件工具化。
近些日子,在软件业内“软件定义一切”理念被广泛提到,我想其目的是想强调软件的重要性以引起社会对软件的关注,并以此鼓动起全软件行业的企事业单位和软件专业人员的使命感,为促进软件发展和应用更加努力。
软件因自身在标准、编程等方面还不够完善,距离满足社会信息化服务需求还差的较远。软件需要通过加速自身创新,尽快成为广大用户应用计算机的工具,实现大多数用户可在自己业务中按需求自如地描述出所需的应用软件,可以进一步有效促进我国各行各业信息化的广泛深入发展。
软件问世的几十年来,软件及软件编程技术已有很大发展。早期的软件是用户自己通过在纸带上穿孔输入计算机应用的。后来,随着软件和计算机应用的发展,才出现为用户提供软件服务的专业软件公司和软件人员。初期向用户提供的软件服务方式,如同用户到单位食堂吃饭,有什么饭菜吃什么饭菜的固定服务,后来发展到用户去餐馆用餐,用户可按提供的菜谱点餐吃饭的菜单服务。现在有些公司正在努力为用户提供自助餐服务,让用户可自取饭菜,想吃多少拿多少。但是,这几种服务都是在软件定义一切,其核心都是软件公司事先设计做好饭菜的成品服务。实际上,大多数用户想要的是自己动手,想吃什么自己做什么的自助厨房式的服务,软件公司只需做可供用户自己做餐的工具、环境、材料……等的基础服务,由用户根据自己需要选用工具和食材随意制作出饭菜。
软件做为使用计算机的工具,还不完全是用户使用计算机的工具。软件基本上还是软件公司和软件专业人员为用户使用计算机的服务工具。所有计算机的应用,归纳起来就做三个操作:数据采集、数据处理、数据输出。其中,各种各样的计算机应用的数据采集和数据输出方式(技术)是有限的和相似的。所不同的是数据处理,即每一种计算机应用的数据处理的算法(模型)不一样。而这些数据处理的算法(模型)好坏决定计算机应用的效果。好的数据处理的算法(模型)来自从事多年的各行各业专业人员的知识、他们所掌握的长期积累的成功经验和数据,这是外行很难去定义和替代的。
在信息化发展中,除少部分系统软件外,绝大部分软件都是应用软件。由于现在的软件编程技术的复杂性,用户的技术人员在短时间不能熟练掌握软件编程技术,大部分复杂业务还需要软件公司的专业人员来完成。同样,软件公司的专业人员在短时间也不能熟练掌握某一用户的复杂业务和知识,且软件公司的用户会涉及到各行各业,要求软件专业人员去掌握各行各业的复杂业务和知识也不可能。强调软件定义一切,突出软件行业的作用,说明软件的重要性是可理解的,进而由软件公司或人员用软件去准确定义社会各行各业的信息化需求是不现实的。但是,软件公司的专业人员、以及用户的技术人员用软件去逐步描述出社会各行各业的信息化实际需求是可行的。
常比喻计算机的硬件如同算盘、软件如同使用算盘的口诀。人们学会算盘的口诀,就可以用算盘自己算数。现在,大多数进行信息化的用户,还需要有软件公司服务。好似如同使用算盘,还需跟着个帐房先生。这说明我们今天的软件还是太复杂,不能象算盘口诀一样让用户很容易学习和掌握。而且,当前的计算机软件和硬件,不象算盘和口诀一样相互分明。在嵌入式系统设计中,提倡软件和硬件联合设计,软件和硬件的一些功能, 可以根据应用需求相互替换。此时,就分不清软件和硬件谁定义谁了。因此,有必要将软件定义一切理念,转变为软件描述一切的理念,更能体现出软件做为工具,通过描述实现社会信息化发展中的重要服务作用。
微软公司研制的办公软件,就是一种用户利用软件工具描述自己需求的成功案例:无论老幼、男女、从事什么行业的人,都可经过学习该办公软件后描述出自己需要的文章或图表。
软件的工具化不仅是急用户之所需,也是软件行业发展之所需。为满足不断发展的信息化需要,软件的复杂度和准确度等越来越高,软件的编程和维护成本等也越来越高;可是,软件的可靠性、灵活性、扩展性、复用性等却越来越低、软件公司的运营的效率、人员的稳定、企业的利润等也越来越低;软件正面临着严重的挑战和危机。
软件行业与机械行业一样,同是加工服务业。机械行业已经发展上百年了,整个行业已经非常完善和稳定。机械行业的加工手段走过从手工向半自动到全自动过程;机械行业的规模从一些手工作坊开始,发展到大型机械厂,最后成为各种整机产品公司的配套企业或附属车间。从机械行业的发展历程,可以看到软件行业发展的未来:软件的编程会从人工逐步发展到自动编程、软件的工具化会有越来越多的非软件专业人员掌握和使用软件,软件行业将由站在信息化的前台向后台转化。同时,软件行业也将走过发展的强盛拐点后被表面弱化和隐身……,但是,软件行业将以主要提供高、精、尖的软件配套模块产品和各类软件工具,继续在后台发挥其在信息化中不可替代的重要作用,这是软件必然的发展趋势。
发展软件的目的是促进社会信息化。软件行业、软件企事业单位和软件专业人员需要以发展的整体眼光看待软件的发展趋势。这一发展趋势说明软件在计算机应用和信息化中的作用将会更深入和更扩大。软件如能被更多的非软件专业人员掌握,如同直接参与促进各行各业的信息化,软件所产生的效益和作用将会隐含在全社会信息化的成果中,大得会很难统计。
软件行业应该有“教会用户使用软件,不怕本身会被隐身”的胸怀,为了提高全社会信息化的速度和水平,主动担负起研制软件工具化神圣职责,争取早日为用户、也为本行业研制出高效的可描述一切的通用软件工具,与各行各业用户的技术人员共同用“她”来描述出全社会信息化所需的计算机应用软件。实现这一目标之时,软件的作用会体现和达到软件行业追求的梦想境界,做到“待到山花烂漫时,她在丛中笑”。
软件工具化是完全可以实现的梦想。国外许多软件跨国公司正在投巨资进行研制,已推出一些初级的软件自动编程产品。国内有些单位也在开始着手做软件工具化的研究,也取得可喜的进展。
中国软件行业协会嵌入式系统分会和中国嵌入式系统产业联盟在无限增长量(天量)数据快速检索技术上组织了研究和取得颠覆性成果的同时,在软件工具化的技术上,也组织协会和联盟所属的北京乾坤化物数字技术有限公司等单位进行了研究和取得突破性进展。该公司正在构建的136X网络空间信息互联工程中的已运行多年的多系统多用户云网站群EM258.com,已经下辖按全国行政区的8000多万个可互联互通的网站,还可无限多地按全世界行政区增加网站个数的全部软件编程工作,都是该公司赵文银总经理独自一人编制完成的。仅从136X网络空间信息互联工程的软件工作量来说,由一人独自完成已是在软件行业难以置信的奇迹。更可贵的是:上述巨复杂的136X工程和EM258.com云网站都是赵文银总经理,用他独创研制的面向事实的、没有BUG的FO编程软件工具编制出来,为软件工具化发展树立了可以借鉴的范例。
136X工程的EM258.com云网站已成功运行多年,用户可以随时上网查阅。对136X工程和EM258.com云网站的相关技术感兴趣的有关单位领导和专家,可以实地进行考查和交流。
136X工程的EM258.com云网站的成功研制和运行,表明信息技术也有高手在民间。习主席在要建立适应网信特点的人才评价机制时指出:以实际能力为衡量标准,不唯学历,不唯论文,不唯资历,突出专业性、创新性、实用性。希望国家有关部门和领导、学术机构和专家等对于在软件工具化创新发展方面有创新理念的小人物和处于萌芽时期的有创新业绩小单位,加以重视和爱护,制定出适合扶持他们发展的、对应的相关政策给以大力支持。
期待从事软件工具化创新发展的软件企事业的小单位和软件技术人员得到有力支持,能与软件企事业的大单位和软件专家共同在促进我国软件工具化创新发展的道路上不断取得成绩。