- 論壇徽章:
- 0
|
有兩個數(shù)組a,b,大小都為n,數(shù)組元素的值任意整形數(shù),無序;
要求:通過交換a,b中的元素,使[數(shù)組a元素的和]與[數(shù)組b元素的和]之間的差最小。
===============================================
回答一劍凌云山海情 的問題:(其中部分片段摘抄了孟巖的文章)
--------------------------------------------------------------------------------------
原帖由 一劍凌云山海情 于 2009-6-29 09:44 發(fā)表 ![]()
>>厭倦了C++的低效率,我們崇尚敏捷開發(fā),我們只用C!
敏捷開發(fā)和c有什么關(guān)系?真的崇尚敏捷開發(fā)的話,用c++不是更適合嗎?
C是簡約式的語言,C++是魔幻式的語言。簡約式的語言更敏捷。
什么是魔幻語言呢?對編程語言進行分類有很多方法,其中人們常用的比如非!斑^程式語言”,“面向?qū)ο笳Z言”,“函數(shù)式語言”等,這是按照在這種語言中原始的看待程序的方式來劃分。還有比如“編譯型語言”和“解釋型語言”,這是按照語言翻譯發(fā)生的時間來劃分的,還有一些別的分法。不過我一直覺得,根據(jù)語言本身的設(shè)計風(fēng)格和擁護者的氣質(zhì)也可以把語言劃分成“魔幻語言”和“簡約語言“兩類。
所謂”魔幻語言“,主要代表作品有C++、Perl、Javascript和Ruby。這些語言擁有豐富的特性,聰明的技巧和意想不到的奇效,永遠有發(fā)掘不完的奇技淫巧,總能找到讓人匪夷所思的”yet another way"。反過來,“簡約語言”崇尚清晰直接,夠用就行,要求從代碼容易理解,寧可笨一點、累一點、多寫一點代碼,反對出人意料的技巧,反對故弄玄虛。C、PHP、Python和Lua這一派語言的代表作。
魔幻語言通常看上去更加引人入勝,能夠做一大堆讓人目瞪口呆的事情。魔幻語言的擁護者,通常都熱衷于這種智力競賽,他們發(fā)掘語言中每一個死角,尋找有趣的技巧組合,一遍遍地尋找更好的方法和思路,對語言層面的技巧如癡如醉,樂此不疲。在魔幻語言的社群里,“語言高手”是備受尊崇的,他們可能不知道怎么響應(yīng)一個HTTP請求,但是卻能夠用不少于6種方式來寫一個for循環(huán)。他們寫的代碼是一種謎語般的藝術(shù),出謎語和猜謎語的人們都能從中獲得巨大的精神滿足。
簡約語言就土多了。通常做一件事情就那么一兩種方法,你真的沒多少花花腸子可繞。光看代碼根本不看不出你的道行,隨便一個受過一點專業(yè)訓(xùn)練的人也能看透你葫蘆里賣的什么藥,在代碼里找成就感,基本沒戲。當(dāng)然,這并不是說簡約語言的“能力”要比魔幻語言差,或者是會限制你的思維。相反,簡約語言讓你把注意力集中在哪些真正與問題相關(guān)的地方,而不是語言本身的表達方式上。因此從工程上看,簡約語言更敏捷,更適合大規(guī)模、協(xié)作式的軟件開發(fā)。
從長時間的比較來看,簡約語言無疑受到更廣泛的支持。
C是簡約式的語言,一個簡約式的語言決定了:它的使用者無論是水平再高的大師也不會在代碼上玩出:
tr1::function < void(const record_set&) > on_completion =
tr1::bind(tr1::mem_fn(&grid::display_data), this, _1);
這樣的C++代碼技巧。。。
C是簡約式的語言,so,簡約式的C語言更敏捷。。。
[ 本帖最后由 天魔封神霸 于 2009-6-29 10:38 編輯 ] |
|