C++ BuilderX的问题与展望(2,问题篇-下)

C++ BuilderX的问题与展望

 

猛禽[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上没有的版本控制功能(见EditorHistory页面),这个功能我前两年就在JBuilder上看到了,眼馋的不行,现在终于也可以在C++中享受到了。此外它还可以像JBuilder一样集成多种源码版本控制工具(CVSClearCaseVSS)。

对于编辑器,BCBX还有一个很好用的功能就是Sync Edit,通过选择一段文本,可以方便地修改其中相同的标识符等,在进行代码重构时非常有用。

还有就是提供了一个类似Class ExplorerStructure View功能,可以在这里立即跳转到各个类/函数的定义或实现处。另外它的Editor支持嵌入源码的ToDo Item功能,并且能在Structure View中立即显示出来,而且也可以从Structure View中跳转,比BCB中的ToDo List功能要强大。

另外,对Project的管理功能也略有加强,可以定义和调整Project Group中的编译顺序(相当于一种Project依赖关系)。这一点也是BCB曾经被人垢病的一个方面。

BCBX还有一个特性是与BCB一样的:支持基于VisiBrokerCORBA应用开发。特别是它比BCB有一个很大的改进,在BCB中用CORBA向导默认生成的CORBA应用是使用BOA的,而这是早在五年前就被CORBA2.2规范制定的POA所代替了(当然BOA也可以用,但基于移植性考虑,OMG建议使用POA),在BCBX中终于用POA代替了(而且好像不能再用BOA了)。

至于很多人认为BCBX这个用JAVA写的IDE速度太慢,我倒不觉得,只是启动速度略有些慢,不过BCB的启动也不能算很快,比起VS.net来说慢太多了。也许是因为我的机器内存比较大的缘故,虽然是PIII-733CPU,但有512M内存。看来要跑BCBX要先准备好内存了。

BCBX除了这些IDE方面的好处外,还有一个好处就是带有dbExpress这个跨平台的通用数据库访问技术,所以用BCBX做跨平台数据库应用会比较方便,并且目前dbExpress支持的数据库种类还是比较多的。

虽然BCBX有上述的优点,但也不能改变它是一件“粗糙”的产品的本质,简直就和当年的BCB1如出一辙。

首先最大的败笔莫过于不支持VCL了。据说不支持VCL还有理由了:因为它的目标用户不是BCB用户,而是更为广大的非VCLC++用户,如其它平台的C++用户及VC的用户等,VCLBCBX2的目标。而且不支持VCL就算,也没有提供一个别的GUI开发的Framework,比如传说中的wxWindows(据说要在BCBX2里提供)。

其次来说这个IDE,作为IDE技术的发明者,Borland应该很了解开发人员要的是一个什么样的IDE,它应该能够在其中很方便地完成大部分的开发工作,但BCBX明显达不到要求。虽然它带有很多BCB不支持的功能,但同样的,有很BCB中具备的功能,在BCBX中还没有提供。特别是非常重要的Code Insight功能居然都没有,而且它的Structure View,虽然在某些方面比Class Explorer强大(如ToDo),但它的功能还是太弱,比如不能在Structure View里创建类成员等。还有BCBXEditor中不支持跳转到定义的功能,不支持Open file at cursor等。而且个人认为BCB6中将只将单元放在Editor上面的Tab中,而将CPP文件和H文件放在下面的Tab中是一个好办法,但BCBX却还是像BCB5一样都放在上面,这样文件一多就要卷来卷去。

还有一个足以说明它“粗糙”的理由是:BUG。我曾经试过在一个很简单的应用里只是更换了一下编译器,正要保存设置时,IDE无响应,CPU占用100%

 

其实Borland提出BCBX这个策略是没有错的,只是策略的实施上有些问题。

BCBX的产品定位是定位于非VCLC++用户。在这点上,就会让Borland目前的C++产品用户,基于VCLBCB用户非常不满,特别是没有提供像BCB7这样的过渡产品,可能导致用户流失。其次,对于非VCLC++用户来说,也未必吸引人。这部分C++用户主要有两派:一派是用VC的用户,一派是用GNU C++的用户。对VC用户来说,跨平台特性对他们完全没有吸引力,而在Windows平台下,VS.net还是非常好用的,并且他们可以很方便地进行.net应用开发,BCBX提供的多编译器支持对他们来说也是没用的功能,所以在这里BCBX基本上没有什么市场。

估计BCBX更主要的目标市场在GNU C++。用GNU C++的用户中,很大一部分是开源社团,而对他们来说,根本不屑于使用像BCBX这样的东东,特别是自从Danny.Thorpe当年因为开发Kylix,与Linux社团有一次大的冲突,Borland在开源社团的影响并不好。而且就BCBX本身来说,它虽然说支持ACEBoostLoki这些库,但是事实上这些库本来就是通用库,支持很多的编译器,其中也包括BCB,所以这根本不能算什么特性。而且虽然BCBXProject管理功能有所增强,但比VS.net还有差距,更别提跟开源社团习惯使用的Make文件相比了(虽然Make文件用起来比较复杂,但对于大项目来说,它是最好的解决方案,即使是项目管理功能好如VS.net,跟Make文件相比还是差得太多了)。

纵观整个BCBX,其中提供的有价值的东西非常有限:一个是还不能算是很完善的IDE,另一个可能就算是dbExpress了。至于像CORBA向导之类的并不算很特别,用命令行编译IDL一样可以实现它的功能,虽然没有向导那么方便,但更加自由,不用受制于VisiBroker,可以选择各种ORB产品。版本控制也可以用CVS等专门的软件,只是要多一些手工操作,没有集成起来这么方便而已。其它像编译器一类的更没什么好说的,BCBX还是用的BCB6的编译器:BCC5.6BCBX集成了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应该也不会例外,说句不客气的话,这样乏善可陈的产品定这样一个价格真是与抢钱无异。

 

(待续)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值