各種開發工具的比較【轉】

各種開發工具的比較【轉】<script language="javascript" type="text/javascript"> document.title="各種開發工具的比較【轉】 - "+document.title </script>


近日和公司的系統分析員探討了幾種開發工具的特性,由其總結了下面的內容。 文章客觀評價了各種開發工具的優缺點,本人把文章拿來和大家一起討論一下, 歡迎專業人事補充和指正。

一、 跨平臺特性
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
發佈了29 篇原創文章 · 獲贊 0 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章