admin 管理员组

文章数量: 887609


2024年1月12日发(作者:网站php工程师招聘)

各种计算机语言的比较

一、 跨平台特性

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页面的用户对象和服务

以及系统对象,非常适合编写服务端动态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:适用于开发除了系统软件、驱动程序、高性能实时系统、大规模图像


本文标签: 开发 支持 组件