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

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