幾種開(kāi)發(fā)工具的特性比較
近日和公司的系統(tǒng)分析員探討了幾種開(kāi)發(fā)工具的特性,由其總結(jié)了下面的內(nèi)容。文章客觀評(píng)價(jià)了各種開(kāi)發(fā)工具的優(yōu)缺點(diǎn),本人把文章拿來(lái)和大家一起討論一下,歡迎專業(yè)人事補(bǔ)充和指正。
一、 跨平臺(tái)特性
VB:無(wú) ★
PB:WINDOWS家族, Solaris,Macintosh ★★★
C++ Builder/Dephi:WINDOWS家族,Linux ★★★
VC:無(wú) ★
JAVA:所有能夠運(yùn)行JAVA虛擬機(jī)的操作系統(tǒng) ★★★★
二、組件技術(shù)支持
VB:COM,ActiveX ★★★
PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★
C++ Builder/Dephi:COM, ActiveX CORBA(本身自帶CORBA中間件VisiBroker,
有豐富向?qū)? ★★★★★
VC:COM,ActiveX,CORBA(沒(méi)有任何IDE支持,是所有C編譯器的功能,
需要CORBA中間件支持) ★★★
JAVA:JavaBean,CORBA;ActiveX ★★★★
三、數(shù)據(jù)庫(kù)支持級(jí)別
數(shù)據(jù)訪問(wèn)對(duì)象:
VB:DAO,ADO,RDO功能相仿; ★
PB:Transaction,DwControl,可綁定任何SQL語(yǔ)句和存儲(chǔ)過(guò)程,數(shù)據(jù)訪問(wèn)
具有無(wú)與比擬的靈活性 ★★★★
C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在內(nèi)
的二十多個(gè)組件和類(lèi)完成數(shù)據(jù)訪問(wèn) ★★★
VC:同VB,但有不少類(lèi)庫(kù)可供使用,但極不方便,開(kāi)發(fā)效率很低 ★★
JAVA:JAVA JDBC API,不同的IDE具有不同的組件 ★★
數(shù)據(jù)表現(xiàn)對(duì)象:
VB:DBGriD,與數(shù)據(jù)庫(kù)相關(guān)的數(shù)據(jù)表現(xiàn)控件只有此一種,只能表現(xiàn)簡(jiǎn)單表格
數(shù)據(jù),表現(xiàn)手段單一 ★
PB:DataWindow對(duì)象(功能異常強(qiáng)大,其資源描述語(yǔ)句構(gòu)成類(lèi)似HTML的
另外一種語(yǔ)言,可在其中插入任何對(duì)象,具有包括DBGrid在內(nèi)的數(shù)百種
數(shù)據(jù)表現(xiàn)方法),只此一項(xiàng)功能就注定了PB在數(shù)據(jù)庫(kù)的功能從誕生的那
一天起就遠(yuǎn)遠(yuǎn)超過(guò)了某些開(kāi)發(fā)工具今天的水平 ★★★★★
C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit,
DBLookupListBox在內(nèi)的15個(gè)數(shù)據(jù)感知組件,DecisionCube,
DecisionQuery在內(nèi)的6個(gè)數(shù)據(jù)倉(cāng)庫(kù)組件和包括QRChart, QRExpr
在內(nèi)的20多個(gè)報(bào)表組建,可靈活表現(xiàn)數(shù)據(jù) ★★★
VC:同數(shù)據(jù)訪問(wèn)對(duì)象 ★
JAVA:不同的IDE具有不同的組件,比較著名的有Jbuilder,PowerJ,
VisualAge for Java ★★
語(yǔ)句執(zhí)行方式:
VB:將一句SQL串綁定到一個(gè)命令對(duì)象中,結(jié)果返回到ResultSet對(duì)象
中自行拆取 ★
PB:是一種真正的4GL語(yǔ)言,可隨意直接嵌套SQL語(yǔ)句返回值被賦值到
語(yǔ)句的變量中,支持語(yǔ)句級(jí)游標(biāo),存儲(chǔ)過(guò)程和數(shù)據(jù)庫(kù)函數(shù),是一種類(lèi)
似SQLJ的規(guī)范 ★★★★★
C++ Builder/Dephi:使用數(shù)據(jù)庫(kù)組件或類(lèi)完成SQL語(yǔ)句串的執(zhí)行和提交 ★★
VC:同數(shù)據(jù)訪問(wèn)對(duì)象 ★
JAVA:SQLJ,JAVA JDBC API ★★★★
四、系統(tǒng)底層開(kāi)發(fā)支持
VB:調(diào)用API需申明,調(diào)用不方便,不能進(jìn)行DDK編程,不可深入Ring0編程,
不可嵌套匯編 ★
PB:調(diào)用API需申明,調(diào)用不方便,不能進(jìn)行DDK編程,不可深入Ring0編程,
不可嵌套匯編 ★
C++ Builder/Dephi:直接調(diào)用API,可進(jìn)行DDK編程,可深入Ring0編程,
可嵌套匯編 ★★★★★/★★
VC:直接調(diào)用API,可進(jìn)行DDK編程,可深入Ring0編程,可嵌套匯編 ★★★★★
JAVA:推出了JINI規(guī)范但不能對(duì)不支持JINI的設(shè)備編程,眼下并不實(shí)用 ★
五、多媒體及圖形圖像開(kāi)發(fā)支持
VB:可進(jìn)行Direct Api編程;調(diào)用OpenGL很不方便;自帶少量圖形圖像處理
控件,使用方便但功能一般;支持圖像文件類(lèi)型較少 ★★
PB:可進(jìn)行Direct Api編程;調(diào)用OpenGL很不方便;圖形圖像處理不方便
但可調(diào)用API完成圖形圖像操作,也可借助控件開(kāi)發(fā);支持圖像文件類(lèi)型很多 ★
C++ Builder/Dephi:可進(jìn)行Direct Api編程;調(diào)用OpenGL比較方便;
自帶豐富的圖形圖像處理組件及類(lèi),使用很方便且功能強(qiáng)大;支持圖像
文件類(lèi)型一般 ★★★★★
VC:可進(jìn)行Direct Api編程;調(diào)用OpenGL比較方便;自帶豐富的圖形圖像
處理類(lèi),使用不方便但功能強(qiáng)大;支持圖像文件類(lèi)型較少 ★★★★
JAVA:很難調(diào)用Direct Api和OpenGL;自帶相當(dāng)豐富的圖形圖像處理組
件及類(lèi),使用不方便但功能強(qiáng)大;支持圖像文件類(lèi)型一般 ★★★★
六、網(wǎng)絡(luò)或Web開(kāi)發(fā)支持
VB:Asp,VBScript,具有編寫(xiě)DHTML的簡(jiǎn)單IDE,編寫(xiě)靜態(tài)頁(yè)面非常方便;
用于網(wǎng)絡(luò)通訊的支持一般 ★★
PB:DynaSript, Web.PB;提供了較多動(dòng)態(tài)生成Web頁(yè)面的用戶對(duì)象和服務(wù)
以及系統(tǒng)對(duì)象,非常適合編寫(xiě)服務(wù)端動(dòng)態(tài)Web應(yīng)用,有利于商業(yè)邏輯的封裝;
用于網(wǎng)絡(luò)通訊的支持不足;靜態(tài)頁(yè)面定制支持有限 ★
C++ Builder/Dephi:ISAPI,WININET API等各類(lèi)網(wǎng)絡(luò)或互聯(lián)網(wǎng)API可自由
而方便的調(diào)用;提供了Server Socket,ClientSocket等三十余個(gè)組件及類(lèi),
用來(lái)處理網(wǎng)絡(luò)通訊控制,流處理,Mail,Email,FTP,HTTP等應(yīng)用協(xié)議處理以
及生成動(dòng)態(tài)頁(yè)面和商業(yè)邏輯的封裝;功能強(qiáng)大,使用方便 ★★★★★
VC:SAPI,WININET API等各類(lèi)網(wǎng)絡(luò)或互聯(lián)網(wǎng)API可自由而方便的調(diào)用;
提供CAsyncSocket等數(shù)量眾多的類(lèi);功能強(qiáng)大但使用不太方便 ★★★
JAVA:不可直接調(diào)用API但內(nèi)置非常多的網(wǎng)絡(luò)及互聯(lián)網(wǎng)功能;可利用
Servlet API,Java Bean API,以及JSP等協(xié)同開(kāi)發(fā)功能強(qiáng)大的Web
應(yīng)用;功能強(qiáng)大,對(duì)于某些IDE使用不太方便 ★★★★★
七、開(kāi)發(fā)模式
VB:控件開(kāi)發(fā)模式(OCX) ★★
PB:組件開(kāi)發(fā)模式(User Object) ★★
C++ Builder/Dephi:源代碼組件開(kāi)發(fā)模式(VCL) ★★★★★
VC:應(yīng)用程序框架開(kāi)發(fā)模式(MFC) ★
JAVA:框架開(kāi)發(fā)模式(JDK下)+組件開(kāi)發(fā)模式(IDE下) ★★★
八、面向?qū)ο筇匦?/strong>
VB:差 ★
PB:較好 ★★★
C++ Builder/Dephi:很好 ★★★★
VC:一般 ★★
JAVA:非常好 ★★★★★
(本文未完,繼續(xù)閱讀,點(diǎn)擊續(xù)篇幾種開(kāi)發(fā)工具的特性比較(續(xù)))
【編輯推薦】