軟件開發(fā)工程師:編程語(yǔ)言的三大定理
http://www.accp-teem.com.cn/ArticleView/2007-7-27/Article_View_1211.Htm#
最近看到不少文章,作者去比較兩種或者多種語(yǔ)言以試圖證明他喜愛(ài)的語(yǔ)言更棒。我仔細(xì)觀察過(guò),通常而言,這些文章會(huì)側(cè)重在其他語(yǔ)言(指非作者喜愛(ài)的語(yǔ)言)的弱點(diǎn)上;有時(shí)候,會(huì)舉例來(lái)證明其他語(yǔ)言的冗長(zhǎng),得出結(jié)論說(shuō)自己的語(yǔ)言代碼更少、更簡(jiǎn)捷。
在我看來(lái),雖然是針對(duì)其他語(yǔ)言的“弱點(diǎn)”,但作者寫這樣的文章也無(wú)可厚非,畢竟這樣的文章多依事實(shí)說(shuō)話,起碼你可以知道一門語(yǔ)言的優(yōu)點(diǎn)和另外一門語(yǔ)言的弱點(diǎn),而且會(huì)引起其他“語(yǔ)言人”的關(guān)注和爭(zhēng)論,無(wú)論怎樣這對(duì)你如何選擇編程語(yǔ)言都是有借鑒意義的。以下為編程語(yǔ)言的三大定理,會(huì)客觀地幫助你。
編程語(yǔ)言基本定理
為了分析編程語(yǔ)言,你首先要知道它們?yōu)槭裁创嬖?。由此引申出我的編程語(yǔ)言基本定理:編程語(yǔ)言的存在是為了讓人們明白計(jì)算機(jī)操作。
編程語(yǔ)言的出現(xiàn)是為了克服人類認(rèn)知的局限?,F(xiàn)代計(jì)算機(jī)運(yùn)行的是二進(jìn)制指令,我們很難面對(duì)著“1”與“0”去寫程序,我們無(wú)法號(hào)令機(jī)器,所以我們發(fā)明了編程語(yǔ)言,借以理解和向計(jì)算機(jī)傳達(dá)我們所要的操作。
所以比較任何語(yǔ)言,都應(yīng)當(dāng)權(quán)衡它們對(duì)我們理解計(jì)算機(jī)操作所帶來(lái)的方便。
第二定理
如果程序員對(duì)一段代碼不解,他會(huì)棄用或者重寫。
比你可以多快地寫代碼更重要的是,你寫的代碼可以讓后來(lái)看到的人多快地理解。
舉個(gè)例子:parm=10
既然沒(méi)有聲明變量,我怎么斷定這行代碼是對(duì)是錯(cuò)?編譯器又沒(méi)用,因?yàn)檫@完全可以執(zhí)行,所以我只能通過(guò)后面的代碼才能明白這段代碼是什么意思。所以你也不難理解,為什么在查找錯(cuò)誤代碼是你會(huì)費(fèi)那么大勁了,即使你知道出錯(cuò)的部分。
第三定理
沒(méi)有任何一門語(yǔ)言適用于所有編程任務(wù)。這條定理很清楚,我不多做解釋。
所以在選擇編程語(yǔ)言時(shí)以下事情應(yīng)當(dāng)考慮:
◆常規(guī)特性:性能、兼容性、操作……
◆團(tuán)隊(duì)大小
◆代碼多少
◆代碼的壽命
◆應(yīng)用領(lǐng)域
◆工具:選擇語(yǔ)言考慮的最后一個(gè)問(wèn)題是工具的支持。一個(gè)合適的編輯器對(duì)于你編程所起的作用不亞于語(yǔ)言本身的語(yǔ)法。
聯(lián)系客服