现在讨论的问题就是所谓的(RDA)快速开发语言工具和VC等不太快的开发语言工具之间,我们程序员的选择问题。我曾经跟我的朋友们讨论过这个问题,在网上也看到过此类问题的讨论,大家都觉得VC在中国不是所有人都应该学的,毕竟它在快速开发上不如它的同门师弟VB和对手BCB,现在又转题到“什么开发工具在中国能适应市场”上,有些朋友说JAVA、有说VC,有说Delphi,我是对VC情由独钟。很多人都说在中国的公司(专指中小型)老板看中的不是你给公司开发一个软件要等一年或者半年,而软件却十分稳定健壮,他却看中的是你马上能不能为公司开发什么软件出来盈利,就是说这些公司比较喜欢用这类(RDA)的程序员。于是有朋友就建议我学VC一段时间就赶快专BCB吧,对你有好处的,但我这个人就是属于,只要认定一种事物,一定会达到不撞南墙不回头的地步(可能这种思想不是很好),另外我也觉得VC也不是很难学,毕竟用VC开发的程序的精简稳定是很多(RDA)开发所比不了的,我就一种想法就是:我既然选择了,我无怨无悔,借用一句广告语就是:我选择,我喜欢(会不会侵权啊)。
此类问题已经讨论了不少,在此希望大家再说一些掏心窝的话,谢谢!大家踊跃发表观点

解决方案 »

  1.   

    近日和公司的系统分析员探讨了几种开发工具的特性,由其总结了下面的 
    内容。 
    文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论 
    一下, 
    欢迎专业人事补充和指正。 
    一、 跨平台特性 
    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:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图 
    像 
    处理以外所有的应用 综合评价: 
    VB:46 
    PB:53 
    C++ Builder/Dephi:67/61 
    VC:55 
    JAVA:59