按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
对象或是CORBA服务。有了CORBA这个解决方案之后,终于有了进入可提供企业级
应用程序架构的能力了。
巨人终将对决?
CORBA的复杂度使其一直未能被广大的程序员所接受,现在的CORBA本身已经非常安全
强固,而且经过了十几年企业市场的考验(即使是EJB也不过在企业市场才经历了2个
版本的洗礼),CORBA的开发厂商应该已经清楚,CORBA不被大多数开发人员接受的原
因并不是CORBA不够好,而是CORBA太复杂。因此这些开发厂商应该舍弃CORBA中鲜为
人用的服务,先提供一个完整的CORBA引擎以及企业应用最重要的两个服务事务管
理服务(Transaction Service)和安全服务(Security Service)。更进一步的是,如
果CORBA厂商能够在客户端提供的组件来封装比较复杂的CORBA调用和存取机制,
并且结合数据存取的能力,那么,下的程序员将能够以非常快的速度学习和使用
CORBA组件架构。如此一来,CORBA将有机会在平台中大展身手,有机会成为
平台中最有潜力的组件架构,也将有机会让CORBA一吐闷气,让世人了解CORBA的价值。
〃EJB和CORBA两大巨人终将对决〃?不,更正确的说法应该是J2EE/EJB终于找到了可敬
的对手/CORBA,而CORBA和EJB也将进入〃既竞争又合作〃的时代,当然前提是有
厂商推出CORBA For 的软件产品。
^v^v^v^v^v^v^v^v^v
第十二章 回到C/C++的王国
〃让我们重返荣耀之都吧!〃
当年Windows平台C/C++开发工具四大天王一战,在Microsoft取得了市场的主导力量
之后,C/C++开发工具的市场和竞争反而缓慢了下来,Windows上C/C++开发工具的进
步也开始牛步化。VC++一连两三个版本的进度幅度并不大,除了稍后推出的ATL还有
新意和技术革新,VC++编译器除了在C/C++语言上更趋近于标准之外,MFC本身几乎已
经没有什么大的进步了。在Wat和Symantec退出市场之后,VC++也顺利地接受了
Wat和Symantec的市场。而Borland C/C++虽然也损失了大量的市场,并且失去了
C/C++的王座,但是在数年后,Borland推出C/C++Builder,以C/C++ RAD工具、以及
更符合ANSI C/C++标准和VC++进行市场的区隔,也慢慢地收复了一些失地。虽然
Borland C/C++工具系列已经无法像以前一样是市场第一的C/C++开发工具,但是
Borland在Windows的C/C++开发工具市场仍然占有30%强的市场份额。
C/C++开发工具在C/C++ Framework一战之后,开发的重点却似乎模糊了起来。由于VC
++没有强劲的竞争,因此整个的发展速度缓慢下来。不过C/C++技术在C/C++语言、函
数库(Library)和通用Framework方面却快速地如雨后春笋般兴起。特别是在C/C++语
言的标准化更为完善、以及Template的功能被C++ Standards mittee接受而且被
广泛地由C/C++编译器支持之后,各种支持和使用Template的Framework、C/C++函数
库也快速地占据了C/C++开发者的心灵,成为有力的程序技巧之一。在Java日益兴盛、
开始威胁C/C++的市场时,反而激发了C/C++语言前所未有的高度发展。不过,目前
C/C++开发工具以及C/C++编译器是否跟上了C/C++这么快速的发展脚步呢?在本章继
续讨论之前,也许应该让我们先看看目前C/C++市场的现况。
日不落帝国
曾几何时,C/C++是征服全世界的语言之一。在数年前C/C++语言全盛的时期,我记得
几乎所有的应用系统都选择使用C/C++来编写,如从系统程序、公用程序、软件包到
项目开发,因此也造就了C/C++开发工具横扫软件销售市场的现象。但是随着RAD工具
和Java的逐渐受欢迎,让C/C++开始从许多的市场撤退。特别是当Java兴起之后便快
速取代了以往C/C++在跨平台语言的主导角色,让C/C++语言在这个市场受到Java最大
的威胁。不过,C/C++仍然在许多方面的应用不可否认地具有绝对的优势,特别是在
需要高度执行效率的应用系统中,例如驱动程序和低阶的系统程序等。那么C/C++目
前的市场到底有多少?有没有像两、三年前许多信息机构预测的那样,Java将会大幅
抢走C/C++的市场、并且吸引大量的C/C++程序员呢?让我们以实际的数据来看看目前
的状态。
右图是全世界专业信息机构对于C/C++开发工具市场规模和使用状况的调查结果。从
这个结果图形中我们可以得知几个非常重要的C/C++信息:
首先请读者注意的是,就整体来说C/C++开发工具的市场的确是处于小幅的下降趋势
之中,根据Gartner Group的调查,C/C++市场是以5%的幅度下降,而根据Evans Data
Survey的调查,C/C++市场则是以3%的幅度下降。不过稍后我们会说明,C/C++开发
工具是在哪些平台和应用中产生变化。
另外一个值得注意的地方,是C/C++语言主要是用于三个应用领域之中,分别是客户
端、伺服端和维护现有的应用程序。从图中我们也可以发现C/C++语言被使用的转变
状态,在工业应用方面,C/C++开发工具仍然有很大的成长,这当然是因为C/C++语言
被广泛用于驱动程序的开发,例如显示卡驱动程序、网卡驱动程序等。此外C/C++语
言也被用于移动设备的开发,例如Nokia为了和Microsoft的Smart Phone对抗而推出
的Symbian手机系统。当然,在操作系统、系统程序和低阶核心应用方面C/C++语言仍
然有着不可取代的地位。
但是,C/C++在其他方面的应用的确是在下降之中,特别是在企业的应用系统方面。
例如目前在大型项目、软件包、MIS和企业内部的应用系统中,使用C/C++语言的比例
的确在下降。其中主要的原因是C/C++语言本身的难度较高,因此生产力也不如其他
语言和开发工具。加上较易使用的RAD工具和Java出现之后,C/C++语言在这些领域的
影响力是大不如前的。这个现象也非常契合台湾地区目前的状况,在前几年C/C++兴
盛的阶段,几乎大部分的软件包厂商和SI以及系统厂商的确都是以C/C++开发工具为
第一选择。不过由于C/C++需要的人力素质较高,而且生产力无法大幅提高,因此在
目前软件包和项目的开发大多都由Delphi、VB、PowerBuilder以及Java所瓜分。
至于C/C++开发工具使用的操作系统分配状况,则可以由右面的调查结果来说明。
从图中我们可以发现,UNIX/Linux操作系统平台仍然是占了最大的使用平台,这当然
是由于UNIX/Lmux本身就是使用C/C++语言开发的。而且在UNIX/Linux平台我们可以发
现,C/C++开发工具的规模仍然在成长,可达成10%左右的年成长幅度。由此可知,
虽然Java现在已经入侵UNIX/Linux平台,但是对于C/C++的影响仍然不太显著。
C/C++开发工具第二个最大的平台就是Windows平台了,虽然现在Windows平台是开发
工具百花齐放的状态,但是不可否认的是,C/C++仍然是Windows最重要的数个语言之
一,因为122 Million到137 Million的市场规模是相当大的。而Windows平台的C/C++
开发工具的成长虽然在为数众多的开发工具瓜分之下,仍可达到12%的成长率。这代
表C/C++语言即使是在Java强力竞争之下仍然拥有一定的成长量。由于Windows平台下
的C/C++和Java开发工具是处于同时成长的情形,因此,这可能表示在Windows平台下
许多的程序员应该是同时使用了C/C++和Java开发工具。
至于其他平台的C/C++开发工具则呈现下降的趋势,而且是处于快速下降的情形,这
也可以解释为什么Java在Mainframe和OS/400等大型专属平台成长快速的情形。由此
可见,在这些专属市场中C/C++语言的确是受到Java很大的影响。
除了C/C++语言本身之外,再让我们观察一下目前主流语言应用的现况,通过观察不
同语言之间势力消长的情况,我们也可以了解其他语言对于C/C++语言的影响。右图
即显示了信息机构对于目前几个主流语言之间成长和下降的预估。
从图中我们可以看到,几乎所有的传统语言例如VB、C/C++和COBOL等都呈现下滑的趋
势,相同的现象当然也在第2级的主流语言例如Object Pascal和PowerBuilder等中看
到,但是新一代的虚拟语言却呈现了对比的情形而大幅上升和成长,表示使用这些新
语言的程序员人口正在快速的兴起之中,例如SUN的Java和Microsoft的C#,而Java快
速兴起也可以解释为什么Borland的JBuilder现在已经是Borland最大收入来源的开发
工具。
看完了C/C++整体市场的趋势之后,C/C++语言目前在程序员人口中使用的情形到底是
如何呢?下图是2002年针对美国程序员调查的结果,从这个结果中我们已经可以看到,
在所有调查的人数中使用C/C++的程序员占了45。6%的比率,但是只使用C/C++单一语
言的比率只有3%,可见,现在大部分的C/C++程序员应该已经开始同时使用两种以上
的语言。
而第二幅图则是针对美国程序员对于未来计划使用C/C++语言的调查结果,从图中可
以证明前面图形和分析的结果,C/C++语言的确是以3%到5%的速度在衰退之中,也
有愈来愈多的C/C++程序员开始使用多种语言来进行开发的工作,当然C/C++程序员选
择的最多语言就是Java和C#了。
在〃令人焦虑的时代〃一章中我们已经讨论了Java语言目前使用的状况以及未来的发展。
从其中我们了解了Java虽然快速地兴盛,但是也看到了Java似乎已经在美国进入成熟
期,开始出现稳定的状态并且有小�