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