开篇:润墨网以专业的文秘视角,为您筛选了一篇如何应对悄然而至的软件革命范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
软件无处不在。今天它已渗透到各行各业。对软件的需求永无止境。但编程人员像工蜂一样工作方式的后面潜伏着软件业所面临的危机。
当前软件发展的困境
《MIT技术评论》杂志在2003年11月发表的一篇题为《让编程变得更容易(Everyone's Programmer)》的文章中,对当前软件发展存在的问题有切中要害的分析:目前的编程方式由于永远不能解决人类自身不完善带来的问题,工作效率很低。事实上没有错误的编程是不可能的。最近美国卡内基・梅隆大学的一项研究发现,编程人员编写的程序中平均每1000行代码中就包含了100至150个错误。人工编写代码既耗时,又免不了出错,使企业在软件开发上的花费大大增加。
软件变得越来越庞大,越来越复杂,以致于远远超出了目前软件技术驾御的能力。当一个程序超过几百行,已很难看得明白。如今台式电脑的软件就包含几百万条代码。据专家估计,软件的维护、纠错、更新要占项目所需时间和成本的70 %。
今天,软件已越来越不能承载它自身的复杂性。为了解决上述问题,必须实现编程工作自动化,把编程人员从工蜂那样的编码工作中解放出来。
软件发展的最新动向――软件的革命在上面提到的文章中明确提出了当前软件技术的发展需要有一个革命性的改变。它所包含的最主要内容包括让程序代码看起来像设计,用机器产生源代码――机器本身也是软件,它会是一个软件“生成器”,由它来编写特定的一段软件。告诉生成器写什么程序,这将通过一个易于看懂的界面,被叫做“模型语言”来完成。
这样生成软件的特点是:软件生成器以计算机的速度运行,比人要快十亿倍,而精确性提高十亿倍;从而可避免人为出错。而直观的界面,流程图式的设计,或所谓“所见即所得”的概念,使生成的软件容易看懂,方便编辑、修改;用户能借助他们自己的专业知识修改程序,而无需编程人员的帮助。各种已有的程序可嵌入再使用,这就有可能使编程人员创建的软件达到用现在的方法无法达到的复杂程度。
概括起来,模型化语言,软件生成器以及能直观显现设计意图的程序设计方法等将成为新一代软件的主要特征。
曾领导了研发著名软件Word和Excel的Simonyi,领导以他为首的意向软件公司正在创建一种简单的,但功能很强的编程工具,使软件几乎是自动生成。据称将在1~2年内宣布有产品可投入市场。
挑战中包含了机遇
关于软件革命的提法,目前还没有引起广泛的注意。但文章所传递的信息应引起我们的高度重视。这是软件业所面临的一场新的挑战,也是一次难得的机遇。新的软件设计方式对于各种软件产业都是陌生的,都需重新学习,从头做起。因而这场变革对软件公司来说意味着重新洗牌。这对于那些软件比较落后的国家和企业是极其有利的。我国是一个软件大国。如能抓住这个难得的时机,选择好方向,完全可以迎头赶上,使我国的软件业矗立于世界软件之林。
在软件业,我们面对激烈的国际竞争――既有教训,也有成功的例子。在我国,具有自主知识产权的软件很少,而达到国际领先水平,又付诸实际应用,转化为生产力的就更是凤毛麟角。十多年前北京飞箭公司自主设计的FEPG软件是在科学与工程计算领域的新一代软件。该软件系统采用人工智能的办法,实现了程序设计的自动化,即用计算机生成软件。使用这套软件,既大大节省了编程的人力和时间,又保证了程序的正确性。软件的设计思路与上面的文章可说是殊途同归。目前国内外还没有发现同类产品。软件受到工程、教学、科研界工程师和科学家的欢迎。国内外相关领域专家对该软件系统的独特性能给予了高度评价。
无论是文章中所设想的新一代软件以及飞箭公司的FEPG确实具备了这样一些可称之谓“革命”的特征:全新的工作方式(机器自动生成程序);突出的工作效率(软件生成速度按量级的提高,避免了出错,易懂、易用、易改);以及带动一片的经济和/或社会效益(在工程、教学与研究工作中都能广泛受益)。多年来飞箭公司在科学工程计算领域引领软件革命的潮流。
软件革命的成果将会大大推动软件产业更快发展,由此促进整个国民经济和社会的发展。FEPG软件发明人、中国科学院系统科学与数学研究院研究员梁国平曾提出,在非科学工程计算的其他应用领域也能通过其专业语言及其自动生成系统,把编制应用软件的生产率提高到一个崭新的水平。关于软件革命的内容应在正在制定的我国中长期科学技术发展规划中给予充分的考虑,以便对我国有关的前沿基础研究工作作出规划,组织研究力量开展研究,为开发新一代软件技术铺平道路。