这是回我贴的师兄说的,大家同意他的说法吗?近日和公司的系统分析员探讨了几种开发工具的特性,由其总结了下面的内容。 
文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论一下, 
欢迎专业人事补充和指正。 
一、 跨平台特性 
VB:无 ★ 
PB:WINDOWS家族, Solaris,Macintosh ★★★ 
C++ Builder/Dephi:WINDOWS家族,Linux ★★★ 
VC:无 ★ 
JAVA:所有能够运行JAVA虚拟机的操作系统 ★★★★ 
二、组件技术支持 
VB:COM,ActiveX ★★★ 
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★ 
C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件VisiBroker, 
有丰富向导) ★★★★★ 
VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能, 
需要CORBA中间件支持) ★★★ 
JAVA:JavaBean,CORBA;ActiveX ★★★★ 
三、数据库支持级别 
数据访问对象: 
VB:DAO,ADO,RDO功能相仿; ★ 
PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问 
具有无与比拟的灵活性 ★★★★ 
C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内 
的二十多个组件和类完成数据访问 ★★★ 
VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低 ★★ 
JAVA:JAVA JDBC API,不同的IDE具有不同的组件 ★★ 
数据表现对象: 
VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表格 
数据,表现手段单一 ★ 
PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的 
另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种 
数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那 
一天起就远远超过了某些开发工具今天的水平 ★★★★★ 
C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit, 
DBLookupListBox在内的15个数据感知组件,DecisionCube, 
DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr 
在内的20多个报表组建,可灵活表现数据 ★★★ 
VC:同数据访问对象 ★ 
JAVA:不同的IDE具有不同的组件,比较著名的有Jbuilder,PowerJ, 
VisualAge for Java ★★ 
语句执行方式: 
VB:将一句SQL串绑定到一个命令对象中,结果返回到ResultSet对象 
中自行拆取 ★ 
PB:是一种真正的4GL语言,可随意直接嵌套SQL语句返回值被赋值到 
语句的变量中,支持语句级游标,存储过程和数据库函数,是一种类 
似SQLJ的规范 ★★★★★ 
C++ Builder/Dephi:使用数据库组件或类完成SQL语句串的执行和提交 ★★ 
VC:同数据访问对象 ★ 
JAVA:SQLJ,JAVA JDBC API ★★★★ 
四、系统底层开发支持 
VB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0编程, 
不可嵌套汇编 ★ 
PB:调用API需申明,调用不方便,不能进行DDK编程,不可深入Ring0编程, 
不可嵌套汇编 ★ 
C++ Builder/Dephi:直接调用API,可进行DDK编程,可深入Ring0编程, 
可嵌套汇编 ★★★★★/★★ 
VC:直接调用API,可进行DDK编程,可深入Ring0编程,可嵌套汇编 ★★★★★ 
JAVA:推出了JINI规范但不能对不支持JINI的设备编程,眼下并不实用 ★ 
五、多媒体及图形图像开发支持 
VB:可进行Direct Api编程;调用OpenGL很不方便;自带少量图形图像处理 
控件,使用方便但功能一般;支持图像文件类型较少 ★★ 
PB:可进行Direct Api编程;调用OpenGL很不方便;图形图像处理不方便 
但可调用API完成图形图像操作,也可借助控件开发;支持图像文件类型很多 ★ 
C++ Builder/Dephi:可进行Direct Api编程;调用OpenGL比较方便; 
自带丰富的图形图像处理组件及类,使用很方便且功能强大;支持图像 
文件类型一般 ★★★★★ 
VC:可进行Direct Api编程;调用OpenGL比较方便;自带丰富的图形图像 
处理类,使用不方便但功能强大;支持图像文件类型较少 ★★★★ 
JAVA:很难调用Direct Api和OpenGL;自带相当丰富的图形图像处理组 
件及类,使用不方便但功能强大;支持图像文件类型一般 ★★★★ 
六、网络或Web开发支持 
VB:Asp,VBScript,具有编写DHTML的简单IDE,编写静态页面非常方便; 
用于网络通讯的支持一般 ★★ 
PB:DynaSript, Web.PB;提供了较多动态生成Web页面的用户对象和服务 
以及系统对象,非常适合编写服务端动态Web应用,有利于商业逻辑的封装; 
用于网络通讯的支持不足;静态页面定制支持有限 ★ 
C++ Builder/Dephi:ISAPI,WININET API等各类网络或互联网API可自由 
而方便的调用;提供了Server Socket,ClientSocket等三十余个组件及类, 
用来处理网络通讯控制,流处理,Mail,Email,FTP,HTTP等应用协议处理以 
及生成动态页面和商业逻辑的封装;功能强大,使用方便 ★★★★★ 
VC:SAPI,WININET API等各类网络或互联网API可自由而方便的调用; 
提供CAsyncSocket等数量众多的类;功能强大但使用不太方便 ★★★ 
JAVA:不可直接调用API但内置非常多的网络及互联网功能;可利用 
Servlet API,Java Bean API,以及JSP等协同开发功能强大的Web 
应用;功能强大,对于某些IDE使用不太方便 ★★★★★ 
七、开发模式 
VB:控件开发模式(OCX) ★★ 
PB:组件开发模式(User Object) ★★ 
C++ Builder/Dephi:源代码组件开发模式(VCL) ★★★★★ 
VC:应用程序框架开发模式(MFC) ★ 
JAVA:框架开发模式(JDK下)+组件开发模式(IDE下) ★★★ 
八、面向对象特性 
VB:差 ★ 
PB:较好 ★★★ 
C++ Builder/Dephi:很好 ★★★★ 
VC:一般 ★★ 
JAVA:非常好 ★★★★★ 
九、开发效率 
VB:较高 ★★★ 
PB:很高 ★★★★★ 
C++ Builder/Dephi:高 ★★★★ 
VC:低 ★ 
JAVA:高 ★★★★ 
十、代码执行效率 
VB:一般 ★★ 
PB:较高 ★★★ 
C++ Builder/Dephi:很高 ★★★★★ 
VC:很高 ★★★★★ 
JAVA:低 ★ 
十一、帮助系统 
VB:很好 ★★★★★ 
PB:较好 ★★★ 
C++ Builder/Dephi:差 ★ 
VC:好 ★★★★ 
JAVA:较好 ★★★ 
十二、易学程度 
VB:非常好 ★★★★★ 
PB:好 ★★★ 
C++ Builder/Dephi:好 ★★★ 
VC:不好 ★ 
JAVA:不好 ★ 
十三、使用人数 
VB:很多 ★★★★★ 
PB:较多 ★★★ 
C++ Builder/Dephi:较多 ★★★ 
VC:多 ★★★★ 
JAVA:不多 ★ 
十四、厂商财力 
VB:非常强大 ★★★★★ 
PB:比较强大 ★★★ 
C++ Builder/Dephi:一般 ★★ 
VC:非常强大 ★★★★★ 
JAVA:强大 ★★★★ 
十五、发展潜力 
VB:差 ★ 
PB:一般 ★★ 
C++ Builder/Dephi:一般 ★★ 
VC:好 ★★★ 
JAVA:非常好 ★★★★★ 
十六、基础语言广泛性 
VB:很好 ★★★★ 
PB:一般 ★★ 
C++ Builder/Dephi:很好/差 ★★★★/★ 
VC:很好 ★★★★ 
JAVA:很好 ★★★★ 
结论: 
VB:是新人开发与系统无关的综合应用程序的首选;容易使用和厂商财力很强 
是其仅有的两点优势 
PB:是开发大型MIS及各类数据库跨平台应用的首选;从数据库前端工具来 
讲甚至远远超过了Oracle的Develop系列等专门的工具;从通用语言角度来 
讲功能也与VB等不相上下;多媒体和网络功能与其他工具相比较弱 
C++ Builder/Dephi:是唯一一套能够同时适用于开发数据库应用、网络及 
Web应用、分布式应用、可重用组件、系统软件、驱动程序、多媒体及游戏 
等所有软件的高效率开发环境;VCL源码基于Object Pascal是C++ Builder 
唯一的缺憾,基础语言不够通用和开发系统软件功能不足是Dephi仅有的两点不足 
VC:从功能上讲除了跨平台应用外什么都可开发;从开发效率角度讲只局限于 
开发windows系统应用、可重用组件及驱动程序 
JAVA:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像 
处理以外所有的应用

解决方案 »

  1.   

    我个人觉得如果能解决JAVA的执行效率问题的话,JAVA的市场和前景会更好很多。不过现在C#好象是这种发展方向。
      

  2.   

    Windows底层的东西谁也没有微软自己的好~
    还有.net的一套呢?
    怎么没有?
      

  3.   

    我不同意上述观点。
    从他看来,VC简直差不多一文不值了。
    我不知道发表这个意见的人是不是自己用C++ Builder/Delphi的,
    所以才如此盛赞它。
    不过我真的不知道C++ Builder/Delphi既然有如此多的优点,
    反而使用的人数会比VC这个缺点到处多是的开发工具少呢?
      

  4.   

    一篇陈年老贴又给翻出来了谁说VC不能跨平台的???难道没有见过和VC配合起来用的SDK吗?
      

  5.   

    我不同意结论!!!从提供得数据中得到的更深一层的含义是vc也许看起来和使用起来并不是很简单,真因为如此他对底层的操作才十分灵活和有效,现在的软件开发哪有用一种平台到底的,都是各显神通开发部同的部分,但最重要最核心最低层的还是要靠vc,难道不是嘛。。
      

  6.   

    不同意,你对VB太不熟悉了。
    一、 跨平台特性 
    VB:Windows, Apple
    二、组件技术支持 
    VB:COM,ActiveX ★★★★★ VB在独立组件市场遥遥领先与其他开发工具
    三、数据库支持级别 
    VB:DAO,ADO,RDO功能相仿; ★★★★★ VB+ADO功能最为强大。捆绑的DBGrid控件为数据控件市场的No.1,加上自带的DataGrid控件,比CBuilder错误百出的控件强多了。VB的各种内置控件都具有数据感知功能,并且VB是制作数据感知组件最好的工具。
    五、多媒体及图形图像开发支持 
    VB为首选工具,主要是VB内置的绘图缓冲极好,不想Java,拖动滚动条,paint事件触发上百次
    六、网络或Web开发支持 
    VC > VB > VCL
    VCL中的网络控件多余牛毛,即使是铁杆用户都意见多多,多数用户都已经不用vcl自己的网络控件,转用Indy组件。加上CBuilder在debug时如果出错,很容易让IDE死掉(CBuilder调试COM也如此)。
    七、开发模式 
    VB > VC > CBuilder
    COM > DLL > 源代码
    八、面向对象特性 
    VC > CBuilder/Delphi > VB > PB
    VB的接口编程,虚函数动态机制遥遥领先,只不过VB只能通过Implement 实现代码重用。CBuilder 学用了大量的 VC语法(包括property),却永远比VC差一大节,笑死人。
    九、开发效率 
    VB遥遥领先。如今所有RAID开发工具都不能不向VB看齐,象Delphi号称"VB杀手",就想上海号称"东方的曼哈顿",谁高谁低大家都清楚。象IBM开发Java的RAID,也在宣传中称"Java中的VB"。根据IDC的统计数据,VB相当于所有c++编译器总和。
    十、代码执行效率 
    VB:一般 ★★★★★在COM时代,VB因为使用与COM同样的数据类型,不用转换,速度最快。我曾经测试过,使用ADO的速度 VB > VC > CBuilder(Delphi),速度优势不是一点点。同样使用icq的COM组件测试也是如此。
    十一、帮助系统 
    C++ Builder/Dephi:竟然不支持搜索,懒得一塌糊涂
    JAVA:jdk 20分(总分100),JBuilder -100, VisualAge -100
    十五、发展潜力 
    在我接触的朋友之中有60%不看好java,而看好 .net顺便补充一下,
    十七、debug使用方便性
    vb > vc > delphi > cbuilder
    在debug时,vb的编译/全编译时间为零,vc可以实现那里改动那里编译(文件的部分编译),delphi 和 cbuilder 还是多年以前的以文件为单位的编译,可怜!
      

  7.   

    六、网络或Web开发支持 
    VC > VB > VCL
    VCL中的网络控件错误多余牛毛
      

  8.   

    learn and attention and up
      

  9.   

    同意: xyw2278(启明星) 的观点
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  10.   

    忘了补充一下,BDE 已经不再有新的东西了,只进行补丁。
    Borland 比不过 Microsoft ADO,以后通过提供简单的 ADO 的 VCL 封装类,直接用 ADO 的强大功能。Borland 也推荐用户转向ADO 编程。
    VCL Socket 一套类也不再更新了,bug 太多,且只能在少数用户的情况下使用,Borland 通过加入 Open Source 的 Indy 组件(不是Borland 做的)到 CBuilder/Delphi ,替代原来的垃圾。---〉有点像 Microsoft,自己做不好的,就把别人的东西包进来,比如中文输入法。
      

  11.   

    我觉得vc.net访问数据库用OLE DB很方便呀
      

  12.   

    作者是学C++ Builder/Delphi的吧,所以才.....
    说了半天,VC竟一文不值,只能搞点底层开发?????