解读软件2.0思想框架 把握技术发展趋势

转载 2007年09月25日 18:04:00

软件开发与人类做过的任何其他工作都不一样。其他的工作都是思维为工具,以客观世界为目标,而软件却要求人类以计算机为工具来探究我们自己的思维。一方面,人们对这样的事情还很缺乏经验,另一方面,软件的规模越来越大,应用越来越广,在现代社会中扮演的角色越来越重要,因此,我们就必须不断地加深对软件的认识,并革新软件开发的思想和实践。近五十年来,软件技术的革新每天都在进行,然而,目前的技术发展却呈现出前所未有的局面。

自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”的各个方面。我们也呼吁中国软件开发社群中的有识之士共同努力,把握住这个机遇,,为个人、为企业、进而为整个中国的软件产业带来新的居民。 

中间件技术发展概述

中间件技术主要用来支撑分布式软件的开发,在大型分布式软件系统中中间件技术发挥着极其重要的作用。但是中间件技术也并不是一夜成名的,像任何其他技术一样它的发展也是经历了一个比较漫长的过程的,本文将带你走进...
  • a1314517love
  • a1314517love
  • 2014年04月11日 14:57
  • 1719

javaEE设计思想和技术架构

javaEE企业级应用分为两部分:实现基础支撑功能的容器和实现特定业务逻辑的组件. 1容器. 1.1提供底层基础功能,称之为服务,这些服务主要用来实现企业级应用的共性问题,如事务,安全,可拓展...
  • guoxin91
  • guoxin91
  • 2014年07月02日 22:18
  • 1191

未来智能手机摄像技术发展趋势:硬件

本文已首发在我个人微信公众号:计算机视觉life。 本文展望一下未来智能手机在摄像头硬件上可能的发展趋势。个人观点,仅供参考。 1、双摄像头基线增大 最近两年双摄像头逐渐在许多高端旗舰机上...
  • electech6
  • electech6
  • 2017年04月16日 21:34
  • 1461

Gartner公布2018十大技术发展趋势 2025年AI重塑商业模式

看点:Gartner公布2018十大技术发展趋势!看看接下来的几年你要怎么干。 智东西编辑 轩窗 导语:Gartner公...
  • e848lip6R
  • e848lip6R
  • 2017年10月30日 00:00
  • 374

JSP技术的发展趋势

JSP技术主要用来简化动态网页的开发过程,由于它在形式上和html文档比较相似,因此与Servlet相比,用JSP来编写动态网页更加直观。 但是,当网页非常复杂时,JSP文件中的大量的html标记和j...
  • confirmAname
  • confirmAname
  • 2013年05月23日 16:41
  • 1510

虚拟化技术的发展趋势

在IT领域,由于用户对计算机硬件使用率和系统灵活性不断提出更高的标准和要求,虚拟化技术正得到越发广泛的应用。所谓虚拟化技术,是指在一台或一个集群的高性能计算机上模拟出许多台计算机,而这些模拟的计算机根...
  • yanyan157567
  • yanyan157567
  • 2013年08月21日 10:36
  • 6393

未来计算机硬件的发展趋势

硬件的发展趋势永远都是 性能更强 体积更小 功耗更小 使用更方便. 这样看的话.手机目前是在向多功能的电脑发展.电脑是在向体积功耗更小的手机发展. 而且现在随着数据传输速率的不断增加.网吧的无盘启...
  • u010470716
  • u010470716
  • 2013年05月20日 22:13
  • 837

Android发展趋势分析

继手机、平板电脑后,汽车成Android下一重点开拓领域 其实我们来回顾一下Android的发展趋势,它从一个智能手机的OS为基础,一边学习和借鉴Apple的产品,一边吸纳合作手机厂...
  • halaoda
  • halaoda
  • 2017年11月30日 15:34
  • 630

2018世界十大技术发展趋势总结

近日,全球领先的信息技术研究和顾问公司Gartne公布了即将在2018年对大部分企业机构产生显著影响的首要战略科技发展趋势,人工智能依旧是瞩目的焦点。本次公布的2018年十大战略科技发展趋势,前三个战...
  • u010321471
  • u010321471
  • 2017年12月27日 01:08
  • 436

2018 年开源技术 10 大发展趋势 | Linux 中国

技术一直在变革,诸如 OpenStack、增强型网页应用(PWA)、Rust、R、认知云、人工智能(AI),物联网等一些新技术正在颠覆我们对世界的固有认知。以下概述了 2018 年最可能成为主流的开源...
  • F8qG7f9YD02Pe
  • F8qG7f9YD02Pe
  • 2017年12月27日 00:00
  • 352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解读软件2.0思想框架 把握技术发展趋势
举报原因:
原因补充:

(最多只允许输入30个字)