主流編程語言優(yōu)劣比較

主流編程語言優(yōu)劣比較

ID:1994300

大?。?9.96 KB

頁數(shù):10頁

時間:2017-11-14

主流編程語言優(yōu)劣比較_第1頁
主流編程語言優(yōu)劣比較_第2頁
主流編程語言優(yōu)劣比較_第3頁
主流編程語言優(yōu)劣比較_第4頁
主流編程語言優(yōu)劣比較_第5頁
資源描述:

《主流編程語言優(yōu)劣比較》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、主流編程語言優(yōu)劣整理收集自:P57效果(www.52slimmer.com)這里,我將比較一下幾種主流編程語言:C,C++,Java,.NET,Ruby,JavaScript。其他主流編程語言,如Pascal,Delphi,我不太熟悉。希望熟悉的朋友能夠補全對這些語言的評價。至于Basic,它的版本差異很大,而且能力不太全面,這里也不做評價。語言特性對比表????????????????C??????????C++????????Java??????????.NET????????Ruby????????????J

2、avaScript類型????????無類型??????強類型??????強類型????????強類型??????強類型????????強類型靜態(tài)/動態(tài)??????靜態(tài)????靜態(tài)??靜態(tài)檢驗類型動態(tài)解釋執(zhí)行??????動態(tài)????????動態(tài)支持面向過程??是????????是??????????????否????????????否??????????????否??????是支持基于對象??否????????是??????????????否????????????是??????????????是??????是支持

3、范型??????否????????否??????????????是????????????是??????????????否??????否支持模板??????否??????????是??????????????否????????????否??????????????否??????否支持面向?qū)ο??否????????是????????????是????????????是??????????????否????????否可能你對于我這樣的語言評價有些疑問,請首先看我的另一篇文章基于對象和面向?qū)ο缶幊谭妒奖嫖龊椭髁骶幊陶Z言中

4、的應(yīng)用??理清相關(guān)的概念。我對與面向?qū)ο蠛突趯ο蟮亩x和流行的定義不太一樣。C語言優(yōu)劣考C語言由來讓我們先回顧一下歷史。電腦使用CPU指令,通過寄存器,內(nèi)存等物件執(zhí)行計算。最早的編程,是直接使用代表CPU指令的機器碼編寫的。直接使用二進制的數(shù)據(jù)編程,當(dāng)然很容易出錯。于是,人們后來發(fā)明了一種方法,就是使用英語單詞作為助記符,代表各條CPU指令。這就是匯編語言?,F(xiàn)在,程序員可以使用英語單詞進行編程,然后使用一個解釋程序,把匯編指令翻譯成機器語言,再交給計算機執(zhí)行。1970年,UNIX操作系統(tǒng)的研制者丹尼斯·里奇(De

5、nnisRitchie)和肯·湯普遜(KenThompson)為了更好地編寫操作系統(tǒng),發(fā)明了C語言。C語言比匯編語言更先進。它使用了面向過程的編程范式。同時它仍是一門十分接近匯編語言,面向機器的編程語言。適合編寫操作系統(tǒng)和其他直接操縱硬件硬件的編程。面向過程編程范式下面是我查到的過程式設(shè)計的定義:過程式設(shè)計:1、自上而下(top-down)的設(shè)計方式:是一個自頂向下,逐步求精的過程;2、以main函數(shù)概括出整個應(yīng)用程序需要做的事情,而main函數(shù)由對一系列的子函數(shù)的調(diào)用組成;??????main中的每一個子函數(shù)都可

6、以被精煉成更小的函數(shù)。重復(fù)這個過程,即可完成一個過程式的設(shè)計;3、特征是以函數(shù)為中心,以函數(shù)作為劃分程序的基本單位,數(shù)據(jù)往往處于從屬地位。過程式設(shè)計的優(yōu)點:易于掌握與理解,符合人們的思維習(xí)慣;過程式設(shè)計的缺點:1、不能適應(yīng)問題比較復(fù)雜,或者需求經(jīng)常變化的情況;2、數(shù)據(jù)與操作分離開,對數(shù)據(jù)與操作的修改變得很困難;3、程序架構(gòu)的依賴關(guān)系不合理:main函數(shù)依賴于子函數(shù),子函數(shù)又依賴于更小的子函數(shù);????而子函數(shù)往往是細節(jié)的實現(xiàn),這些實現(xiàn)是經(jīng)常變化的,造成的結(jié)構(gòu)就是:????程序的核心邏輯依賴于外延的細節(jié),一個細節(jié)上的

7、小改動,會引起一系列的變動。我對于面向過程編程范式是這樣理解的:面向過程編程,就是使用函數(shù)代表處理的過程。這些函數(shù)使用的數(shù)據(jù),要么是參數(shù),要么是外部的數(shù)據(jù)。使用函數(shù)編程,這看上去很像函數(shù)式編程。但面向過程的編程范式不同于函數(shù)式編程。函數(shù)式編程的函數(shù),一般不使用外部的數(shù)據(jù)。不維持外部的狀態(tài)。這有很多優(yōu)點,但也同樣有了很大的局限性,不似面向過程編程這樣方便。C語言就是典型的面向過程編程語言。它通過函數(shù)抽象了過程處理。函數(shù),就是C語言的接口。C語言中,數(shù)據(jù)常常作為全局的變量保存起來。這樣,使用C語言編程就很難保證其他代碼

8、不破壞函數(shù)依賴的數(shù)據(jù)的狀態(tài)。這是C++基于對象編程范式出現(xiàn)的原因。這個我們稍后再說。我們再看看C語言對機器指令的抽象。C語言是一門十分接近匯編語言的語言。所以有人說C語言既是一門高級語言(面向過程,函數(shù)),也是一門低級語言(面向機器,直接反映計算機的實際計算過程)。C語言使用原生類型,數(shù)組,Struct等來表示數(shù)據(jù)。C語言中,數(shù)據(jù)在內(nèi)存中的表示是十分確定的。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。