C
C是大部分轉(zhuǎn)行編程或者是入門學習人員最開始接觸的語言,雖說C語言在內(nèi)存管理上存在嚴重的缺陷,尤其是‘\0’的設計被很多人吐槽是最大的敗筆,但是毫無疑問,對那些要求最高的效率,良好的實時性,或者與操作系統(tǒng)內(nèi)核緊密關聯(lián)的程序來說,C仍然是很好的選擇。
現(xiàn)有的很多程序可以產(chǎn)生非常棒的C code,比如語法分析器、GUI Builder等,這時候C語言也是有吸引力的,因為你所需要編寫的代碼只是整個程序的一小部分,C語言對于程序員來說具有無可替代的價值。就我這里討論的每一種語言而論,只要你發(fā)掘的足夠深,到最后你會看到它們的內(nèi)核都是用純正的、可移植的C寫成的。
總結(jié):C最出色的地方在于其高效和貼近機器,最糟糕的地方在它的內(nèi)存管理方面。
?
Java
Java的設計很聰明,它采用了自動內(nèi)存管理,這是最大的改進。相對于Python而言,Java有一些明顯的失誤。有些地方設計的還是太復雜,甚至有缺陷。Java的類可見性和隱式scoping規(guī)則太復雜了。Interface機制是為了避免多繼承帶來的問題而設計的,但是要理解和使用它還是挺難。內(nèi)部類和匿名類導致令人困惑的代碼。缺乏有效的析構(gòu)機制,使得除了內(nèi)存之外的其他資源(比如互斥量和鎖)管理起來很困難。Java的線程不可靠,其I/O機制很強大,但是讀取一個文本文件卻非常繁瑣。
Java沒有管理庫版本的機制,從而形式上重蹈了Windows DLL的覆轍。總體而言,我們可以說除了系統(tǒng)編程和對效率要求極高的程序之外,Java在大部分領域優(yōu)于C++。經(jīng)驗表明,Java程序員似乎不太容易象C++程序員那樣構(gòu)造過度的OO層,不過在Java中這仍然是個嚴重問題。
?
Python
Python
語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結(jié)在一起。
它可以與動態(tài)加載的C庫模塊交換數(shù)據(jù),也可以作為內(nèi)嵌腳本語言而從C中調(diào)用。不過有一個獨一無二的特征,就是以強制縮進
使得代碼具有較好可讀性
。
Python語言非常干凈,設計優(yōu)雅,具有出色的模塊化特性。 Python既支持面向過程的編程也支持面向?qū)ο蟮木幊獭T凇懊嫦蜻^程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο蟆钡恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。
在所有的解釋型語言里,Python和Java最適合多名程序員以漸進方式協(xié)同開發(fā)大型項目。在很多方面,Python比Java要簡單,它非常適合與構(gòu)造快速原型,這一點使得它對于Java有獨特優(yōu)勢:對于那些既不很復雜,又不要求高效率的程序,Python十分合適。
總結(jié):Python最出色的地方在于,它鼓勵清晰易讀的代碼,特別適合以漸進開發(fā)的方式構(gòu)造大項目。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
