C++ BuilderX的问题与展望<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
猛禽[Mental Studio]
http://mental.mentsu.com
(之二,问题篇-下)
然后来具体说一下BCBX这个产品。
它不能说没有优点,先从IDE说起吧。BCBX采用了一个全新的IDE—PrimeTime,这个IDE来自于JBuilder,而且后来的JBuilderX也是采用这个IDE(只是在JBuilderX中用的新版本PrimeTime具有更多的优点,如代码折叠等)。这个JAVA写的IDE可以跨平台,看上去也很美,使用上虽然与BCB/DELPHI不太一样,但至少还是保持了Borland的一贯风格,特别是对JBuilder用户来说会很自然。
这个IDE除了具有BCB原有的一些特性,如Code Template等功能以外,特别值得一提的是,它还具有原来在BCB上没有的版本控制功能(见Editor的History页面),这个功能我前两年就在JBuilder上看到了,眼馋的不行,现在终于也可以在C++中享受到了。此外它还可以像JBuilder一样集成多种源码版本控制工具(CVS,ClearCase,VSS)。
对于编辑器,BCBX还有一个很好用的功能就是Sync Edit,通过选择一段文本,可以方便地修改其中相同的标识符等,在进行代码重构时非常有用。
还有就是提供了一个类似Class Explorer的Structure View功能,可以在这里立即跳转到各个类/函数的定义或实现处。另外它的Editor支持嵌入源码的ToDo Item功能,并且能在Structure View中立即显示出来,而且也可以从Structure View中跳转,比BCB中的ToDo List功能要强大。
另外,对Project的管理功能也略有加强,可以定义和调整Project Group中的编译顺序(相当于一种Project依赖关系)。这一点也是BCB曾经被人垢病的一个方面。
BCBX还有一个特性是与BCB一样的:支持基于VisiBroker的CORBA应用开发。特别是它比BCB有一个很大的改进,在BCB中用CORBA向导默认生成的CORBA应用是使用BOA的,而这是早在五年前就被CORBA2.2规范制定的POA所代替了(当然BOA也可以用,但基于移植性考虑,OMG建议使用POA),在BCBX中终于用POA代替了(而且好像不能再用BOA了)。
至于很多人认为BCBX这个用JAVA写的IDE速度太慢,我倒不觉得,只是启动速度略有些慢,不过BCB的启动也不能算很快,比起VS.net来说慢太多了。也许是因为我的机器内存比较大的缘故,虽然是PIII-733的CPU,但有512M内存。看来要跑BCBX要先准备好内存了。
BCBX除了这些IDE方面的好处外,还有一个好处就是带有dbExpress这个跨平台的通用数据库访问技术,所以用BCBX做跨平台数据库应用会比较方便,并且目前dbExpress支持的数据库种类还是比较多的。
虽然BCBX有上述的优点,但也不能改变它是一件“粗糙”的产品的本质,简直就和当年的BCB1如出一辙。
首先最大的败笔莫过于不支持VCL了。据说不支持VCL还有理由了:因为它的目标用户不是BCB用户,而是更为广大的非VCL的C++用户,如其它平台的C++用户及VC的用户等,VCL是BCBX2的目标。而且不支持VCL就算,也没有提供一个别的GUI开发的Framework,比如传说中的wxWindows(据说要在BCBX2里提供)。
其次来说这个IDE,作为IDE技术的发明者,Borland应该很了解开发人员要的是一个什么样的IDE,它应该能够在其中很方便地完成大部分的开发工作,但BCBX明显达不到要求。虽然它带有很多BCB不支持的功能,但同样的,有很BCB中具备的功能,在BCBX中还没有提供。特别是非常重要的Code Insight功能居然都没有,而且它的Structure View,虽然在某些方面比Class Explorer强大(如ToDo),但它的功能还是太弱,比如不能在Structure View里创建类成员等。还有BCBX的Editor中不支持跳转到定义的功能,不支持Open file at cursor等。而且个人认为BCB6中将只将单元放在Editor上面的Tab中,而将CPP文件和H文件放在下面的Tab中是一个好办法,但BCBX却还是像BCB5一样都放在上面,这样文件一多就要卷来卷去。
还有一个足以说明它“粗糙”的理由是:BUG。我曾经试过在一个很简单的应用里只是更换了一下编译器,正要保存设置时,IDE无响应,CPU占用100%。
其实Borland提出BCBX这个策略是没有错的,只是策略的实施上有些问题。
BCBX的产品定位是定位于非VCL的C++用户。在这点上,就会让Borland目前的C++产品用户,基于VCL的BCB用户非常不满,特别是没有提供像BCB7这样的过渡产品,可能导致用户流失。其次,对于非VCL的C++用户来说,也未必吸引人。这部分C++用户主要有两派:一派是用VC的用户,一派是用GNU C++的用户。对VC用户来说,跨平台特性对他们完全没有吸引力,而在Windows平台下,VS.net还是非常好用的,并且他们可以很方便地进行.net应用开发,BCBX提供的多编译器支持对他们来说也是没用的功能,所以在这里BCBX基本上没有什么市场。
估计BCBX更主要的目标市场在GNU C++。用GNU C++的用户中,很大一部分是开源社团,而对他们来说,根本不屑于使用像BCBX这样的东东,特别是自从Danny.Thorpe当年因为开发Kylix,与Linux社团有一次大的冲突,Borland在开源社团的影响并不好。而且就BCBX本身来说,它虽然说支持ACE、Boost、Loki这些库,但是事实上这些库本来就是通用库,支持很多的编译器,其中也包括BCB,所以这根本不能算什么特性。而且虽然BCBX对Project管理功能有所增强,但比VS.net还有差距,更别提跟开源社团习惯使用的Make文件相比了(虽然Make文件用起来比较复杂,但对于大项目来说,它是最好的解决方案,即使是项目管理功能好如VS.net,跟Make文件相比还是差得太多了)。
纵观整个BCBX,其中提供的有价值的东西非常有限:一个是还不能算是很完善的IDE,另一个可能就算是dbExpress了。至于像CORBA向导之类的并不算很特别,用命令行编译IDL一样可以实现它的功能,虽然没有向导那么方便,但更加自由,不用受制于VisiBroker,可以选择各种ORB产品。版本控制也可以用CVS等专门的软件,只是要多一些手工操作,没有集成起来这么方便而已。其它像编译器一类的更没什么好说的,BCBX还是用的BCB6的编译器:BCC5.6。BCBX集成了Together(据说,我用的Enterprise版是没有的)却没有提供相应的企业应用开发的Framework,,如C#Builder/DELPHI8中的ECO,或是像BCB/DELPHI那样的MIDAS/DataSnap。
当年Kylix 1.0甫一堆出,就有人评论它是一个“玩具”,直到Kylix 3才基本有了一个产品的样子(可惜看样子它注定是要夭折的了)。然而今天的BCBX却连当年的Kylix 1都不如。
按Borland在中国一向的产品定价,一般开发工具的企业版都是定在29950元人民币的天价(相对于MS来说完全可以说是天价,因为三万多元定一年的MSDN宇宙版,可以得到MS的所有产品),BCBX应该也不会例外,说句不客气的话,这样乏善可陈的产品定这样一个价格真是与抢钱无异。
(待续)
分享到:
相关推荐
2.C++Builder是优秀的可视化应用程序开发工具 C++Builder是一完善的可视化应用程序开发工具,使程序员从繁重的代码编写中解放出来,使他们能将注意力重点放在程序的设计上,而不是简单的重复的劳动中。同时,...
C++Builder C++Builder学习 C++Builder程序设计 C++Builder彻底研究
创世纪的C++ Builder -------------------------------------------------------------------------------- 告别Hello World的年代 图形程式设计基本概念 具体而微的绘图程式 以C++ Builder处理Windows...
C++builder ADO实例,连接,查询,插入,删除。
36.用C++Builder在WINNT下编制一个Service 37.如何在C++ BUILDER中自动关闭WINDOWS屏保 38.显示/隐藏任务栏图标 39.信箱监视程序 40.C++Building制作闹钟 41.拨号上网IP地址的检知 42.用C++ Builder编写Tray...
第2章 C++ Builder的可视化编程环境 第3章 C++ Builder 6.0窗体和组件 第4章 C++ Builder 6.0基本编程方法 第5章 键盘和鼠标 第6章 文件、目录和驱动器 第7章 绘图程序的设计 第8章 Windows消息的处理 第9章 VCL的...
在 Borland C++Builder 6 汉化补丁增强版 的基础上,进一步修正了 Borland 的图片及资源编辑器、SQL 监视器的一些小的翻译问题,力争翻译的更贴切。同时, 增加了对 Borland SQL 浏览器 、桌面数据库 、BDE 管理员 ...
详细的描述了C++Builder 6.0安装过程,以及key的生成方法。
C++Builder5编程实例与技巧.PDF格式,有实例,合适初学者!
C++ BUILDER 2010 安装序列号
C++Builder5 and C++Builder6编程实例精解编程实例精解(包含 Builder6 PDF档)
非常好用的c++ builder 2010 破解工具,安装C++ builder 2010之后,可以在安装更新之后再进行破解
《c++ builder 6程序设计教程(第二版)》系统地介绍了在windows环境下利用c++ builder进行应用程序开发的方法,主要内容包括c++ builder常用组件的使用、mdi多文档应用程序设计、文件操作与文件管理、数据库应用程序...
C++ Builder与RS-232串行通信控制
C++ builder 入门与进阶.part1 共7分,pdf
C++Builder 6 Update Pack4
《C++ Builder与RS-232串行通信控制》配书光盘自述文件 1.光盘内容 Readme.txt 光盘说明文件 \EX 《C++ Builder与RS-232串行通信控制》书中各章范例所在的文件 夹,包含完整的工程范例程序代码。 \Other 此...
第三部分 C++Builder高级编程技术 C++Builder 高级编程技术包括:数据共享、操作注册表、帮助系统的制作、安装与卸载、多线程应用程序、动态链接库和图形与多媒体等技术。 第四部分 数据库编程数据库编程部分包括:...
Borland C++Bilder 6.0 是 Interprise(Borland)公司推出的基于 C++ 语言的 快速应用程序开发(Rapid Application Development, RAD)工具,它是最先进 的开发应用程序的组件思想和面向对象的高效语言 C++融合的...