赞
踩
软件开发与人类做过的任何其他工作都不一样。其他的工作都是思维为工具,以客观世界为目标,而软件却要求人类以计算机为工具来探究我们自己的思维。一方面,人们对这样的事情还很缺乏经验,另一方面,软件的规模越来越大,应用越来越广,在现代社会中扮演的角色越来越重要,因此,我们就必须不断地加深对软件的认识,并革新软件开发的思想和实践。近五十年来,软件技术的革新每天都在进行,然而,目前的技术发展却呈现出前所未有的局面。
自2002年至今,软件技术各个领域中的演化、进步和革新越来越频繁,越来越激烈。这些新技术、新方法每一项单独去看都意义重大,都是对过去50年软件开发传统的变革甚至革命。例如,在软件设计领域,UML力图成为表达软件设计的统一语言,而更高级的软件建模工具如MDA、DSL等技术也在积极进展当中,这将根本上改变人们表达软件设计的方式;与之相对,XML正在成为纵跨数据层、逻辑层和通信层的统一数据模型,根本上改变人们表达数据的方式;用户界面技术进入到新时期,大量的三维动画效果的运用使得用户体验达到之前难以想象的水平,而RIA的出现则综合了浏览器与普通客户端应用程序的最佳特性,找到了人们长期以来梦寐以求的平衡点;各主流语言都在积极加强自身的动态性,从而使数据与代码之间的界限变得越来越模糊;移动设备和无线网络技术的发展将计算能力满布在地球的各个角落,使得分布式计算成为常态;而多核CPU的主流化也给传统的串行化程序设计时代画上了句号,其影响之巨大可谓数十年一遇。
Web正在成为唯一真正的统一软件平台,这有可能一举结束长达数十年的平台割据分裂各自为站的局面;而SOA的目标在于调整业务与IT的关系,承诺让IT与业务齐合,实现灵活应变的业务,这更是企业IT领域里的一个根本性变革;在基础计算环境领域,多核与超大规模服务器集群的出现,使得对于并行计算的要求变得空前迫切,从而也直接地将函数式编程语言从实验室推向前台,并且进而要求硬件和网络基础设施的重大变革。这么多重大的技术变革竟然在几乎同时发生,自1960年代以来还是第一次。
然而更有趣的是,稍微深入地研究之后我们发现,所有这些看上去分散的、孤立的技术变革,事实上确实互相密切关联着。Web正在成为统一的、面向服务的分布式计算平台,从而为在企业内和企业间实施SOA建立了基础设施。数据模型向XML的统一,不但将Web更好地整合起来,而且为SOA提供了标准环境,更使不同平台、不同设备的广泛分布式计算协同成为可能。Web和SOA对于开发效率、灵活性和软件质量的诉求,恰好由新的软件过程方法和语言工具来满足。在以互联网为平台的面向服务计算的年代,对单个计算节点的计算能力、规模和节能提出了前所未有的要求,而这一点又由多核CPU、大规模服务器集群和新的并行程序设计语言的发展予以满足。总而言之,所有这一切技术变革,过去在各个领域里遵照自己的规律发展着,穿越几十年的时间,却恰好在今天这个时候汇合到一起,彼此互相支持,相互弥补,呈现前所未有的和谐与一致。为什么竟然会这么巧?难道仅仅是巧合吗?或者在这些单独的分散的技术进步背后,有一个尺度更大的,更宏伟的变革?
我们相信是后者,并且将这个更大尺度的技术变革命名为“软件2.0”。我们确信,整体大于部分之和,“软件2.0”是正在发生的技术革命,其意义远远大于任何一个单项的新技术和新方法。从其目的来看,是要以前所未有的力度削除由于技术分裂、历史包袱以及工具和方法的落后,给人们开发和使用软件所带来的不必要的麻烦,从而调整人与软件的关系,重申人在IT时代的主体性地位,让软件更好的为人服务,为商业服务。从长远来看,“软件2.0”将把人类的信息化带上一个全新的境界,从而强烈地塑造人类的文明进程。即使从短期来看,“软件2.0”为理解当今软件新技术和新方法提供了一个整体的思想框架,不但能够帮助我们理解各个领域内的技术进步,而且能够帮助我们洞悉这些新技术、新方法之间的内在联系,从而把握技术发展的趋势和走向。
“软件2.0”是一个历史机遇。CSDN和《程序员》杂志将坚定而积极地完善和宣传“软件2.0”的概念和思想,并将在2007年11月举办的“软件开发2.0技术大会”上,邀请中外技术名流高人,具体而微地阐释“软件2.0”的各个方面。我们也呼吁中国软件开发社群中的有识之士共同努力,把握住这个机遇,,为个人、为企业、进而为整个中国的软件产业带来新的居民。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。