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