伴随着计算机应用的大众化潮流,其膨胀的市场需求带动了计算机技术及其相关产业的蓬勃发展。而其中的关键组成:计算机软件技术,经过互联网风暴的洗礼已经进入新一轮高速成长阶段。在这个迅速发展的阶段,新技术新平台的出现及其广泛应用成为一大特色,高度的系统开放性和内在逻辑性则是发展的中心和主题。
目前,国内软件技术发展和应用的焦点主要集中在以下几个领域:
一、企业级应用领域
鉴于国内的具体情况(缺乏通用企业级平台产品),这里的企业级应用主要指企业级行业应用领域,以金融、电信、政府这三大行业应用为主(这三大行业的市场总和占据了企业应用的80%以上),其中金融行业核心系统和电信行业核心系统由于传统沿革以及对于性能方面的要求全部采用C/C++实现。而政府机构及电信、金融外围渠道性产品的研发目前基本都选择了J2EE架构以获得跨平台部署能力以及良好的系统伸缩性和扩展性。就目前我个人有所涉及的领域为例,银行核心业务系统全部采用C/C++实现(2000年前的老系统全部都是采用C语言开发,新研发的系统大部分采用C++架构),外围渠道类新产品的研发则大都采用Java技术。政府应用中的重头是国税申报系统,目前是基于Sybase平台开发的C/S结构,同时新一代税务系统已经开始在J2EE平台下着手设计开发。
另一方面,对于一些中小型企业应用,如企业内部CRM、CIM系统,考虑到系统成本以及维护难度等因素大多采用基于Windows Server的ASP+SQL Server组合。
技术主题:
1.C++
【现状】98年语言规范的确定标志着C++这个“新”语言的“诞生”,从这个角度来说,C++是一个年轻的语言,不过从演进历史和发展程度来看(C++于1979年4月诞生于贝尔实验室),C++已经相当成熟并在各个领域得到了广泛应用。对C++发展感兴趣的读者可以去看看《The Design and Evolution of C++》这本书,此书中Bjarne Stroustrup将C++从诞生以来整个设计思想与理念变化的过程做了详尽深入的讲述。
无疑,C++已经成为当今世界最流行的高级系统程序设计和面向对象的开发语言,其定位为一种能够如C语言般支持底层的复杂系统程序设计,而又不失C的效率,同时能支持针对大型应用程序开发的数据抽象和面向对象设计的程序设计语言。事实上也只有C++语言才真正实现了同时对高低层次的合理支持。也正由于这些出色的特性C++得到了广泛的使用,从嵌入式系统(如vxWorks)到超大型应用系统(如美国电信网络系统)的应用开发,C++的应用已经弥漫到IT行业的各个角落。
相对而言,国内企业级平台的C++应用整体水平相对较低,大多还停留在相对简单的小规模应用开发层次。一方面由于国内IT业技术发展相对滞后,OOP、GP等新一代编程思想近两年来才得到普及(直到现在,据笔者所知不少高校的计算机程序设计专业教学还停留在掌握Turbo C 2.0编程阶段),老一代技术人员在OOP、OOD(面向对象设计)思想上比较淡漠。另一方面,国内IT技术产业规模化应用不多,缺乏高质量、高产品化的应用系统,很多应用还停留在针对工程项目的Case实施阶段,产品投入少,持续性不强,难以做到成熟的产品化设计和开发,因此对于相对而言需要较长研发周期的C++而言其实际应用较少。同时对于传统的大规模应用(如金融、电信核心业务领域),由于其原有基础架构多建立在面向过程的C语言体系,考虑到系统的延续性和改动维护成本(资金成本,时间成本,以及开发人员掌握基于C++的OOP、OOD的成本等)大多还处于比较保守的观望或者尝试性改良阶段。再者,面临新一代语言如Java、C#的竞争,C++在基于数据访问、网络交互和分布式计算的企业级应用市场受到强有力的挑战,不少技术人员开始将注意力转移到这些新兴的程序设计语言之中。在这样的情况下,国内优秀的C++程序员不多,优秀的企业级C++架构设计师更是屈指可数。