從各方面比較現在多種語言 (轉)

worldblog發表於2007-12-04
從各方面比較現在多種語言 (轉)[@more@]近日和公司的分析員探討了幾種開發工具的特性,由其總結了下面的內容。
文章客觀評價了各種開發工具的優缺點,本人把文章拿來和大家一起討論一下,
歡迎專業人事補充和指正。
一、 跨平臺特性
VB:無 ★
PB:家族, ,Macintosh ★★★
C++ Builder/Dephi:WINDOWS家族, ★★★
VC:無 ★
:所有能夠執行JAVA虛擬機器的 ★★★★
二、技術支援
VB:COM, ★★★
PB:COM,JavaBean,Jaguar,User使用:+Acti veX ★★★
C++ Builder/Dephi:COM, ActiveX CORBA(本身自帶CORBAVisiBroker,
有豐富嚮導) ★★★★★
VC:COM,ActiveX,CORBA(沒有任何支援,是所有C的功能,
需要CORBA中介軟體支援) ★★★
JAVA:JavaBean,CORBA;ActiveX ★★★★
三、支援級別
資料訪問:
VB:DAO,ADO,RDO功能相仿; ★
PB:Transaction,DwControl,可繫結任何語句和過程,資料訪問
具有無與比擬的靈活性 ★★★★
C++ Builder/Dephi:具有包括Data,Table,Query,Midas,ADO在內
的二十多個元件和類完成資料訪問 ★★★
VC:同VB,但有不少類庫可供使用,但極不方便,開發很低 ★★
JAVA:JAVA JC ,不同的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 API ★★★★
四、系統底層開發支援
VB:API需申明,呼叫不方便,不能進行DDK,不可深入Ring0程式設計,
不可巢狀 ★
PB:呼叫API需申明,呼叫不方便,不能進行DDK程式設計,不可深入Ring0程式設計,
不可巢狀匯編 ★
C++ Builder/Dephi:直接呼叫API,可進行DDK程式設計,可深入Ring0程式設計,
可巢狀匯編 ★★★★★/★★
VC:直接呼叫API,可進行DDK程式設計,可深入Ring0程式設計,可巢狀匯編 ★★★★★
JAVA:推出了規範但不能對不支援JINI的裝置程式設計,眼下並不實用 ★
五、多及圖形影像開發支援
VB:可進行Direct Api程式設計;呼叫OpenGL很不方便;自帶少量圖形
控制元件,使用方便但功能一般;支援影像型別較少 ★★
PB:可進行Direct Api程式設計;呼叫OpenGL很不方便;圖形影像處理不方便
但可呼叫API完成圖形影像操作,也可藉助控制元件開發;支援影像檔案型別很多 ★
C++ Builder/Dephi:可進行Direct Api程式設計;呼叫OpenGL比較方便;
自帶豐富的圖形影像處理元件及類,使用很方便且功能強大;支援影像
檔案型別一般 ★★★★★
VC:可進行Direct Api程式設計;呼叫OpenGL比較方便;自帶豐富的圖形影像
處理類,使用不方便但功能強大;支援影像檔案型別較少 ★★★★
JAVA:很難呼叫Direct Api和OpenGL;自帶相當豐富的圖形影像處理組
件及類,使用不方便但功能強大;支援影像檔案型別一般 ★★★★
六、或開發支援
VB:,,具有編寫的簡單IDE,編寫靜態頁面非常方便;
用於網路通訊的支援一般 ★★
PB:DynaSript, Web.PB;提供了較多動態生成Web頁面的物件和服務
以及系統物件,非常適合編寫服務端動態Web應用,有利於商業邏輯的封裝;
用於網路通訊的支援不足;靜態頁面定製支援有限 ★
C++ Builder/Dephi:ISAPI,WIN API等各類網路或網際網路API可自由
而方便的呼叫;提供了Server Socket,ClientSocket等三十餘個元件及類,
用來處理網路通訊控制,流處理,,,,HTTP等應用處理以
及生成動態頁面和商業邏輯的封裝;功能強大,使用方便 ★★★★★
VC:SAPI,WININET API等各類網路或網際網路API可自由而方便的呼叫;
提供CAsyncSocket等數量眾多的類;功能強大但使用不太方便 ★★★
JAVA:不可直接呼叫API但內建非常多的網路及網際網路功能;可利用
API,Java Bean API,以及等協同開發功能強大的Web
應用;功能強大,對於某些IDE使用不太方便 ★★★★★
七、開發
VB:控制元件開發模式(OCX) ★★
PB:元件開發模式(User Object) ★★
C++ Builder/Dephi:元件開發模式(VCL) ★★★★★
VC:應用開發模式(MFC) ★
JAVA:框架開發模式(下)+元件開發模式(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及各類資料庫跨平臺應用的首選;從資料庫前端工具來
講甚至遠遠超過了的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




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章