《編程珠璣(第2版)》和《編程珠璣(續(xù))》到底是什么關(guān)系?
本文關(guān)鍵詞:編程珠璣,由筆耕文化傳播整理發(fā)布。
作為《編程珠璣》的忠實讀者,您了解《編程珠璣(第2版)》和《編程珠璣(續(xù))》到底是什么關(guān)系嗎?它們可是親生姐妹哦:-)
Jon Bentley是美國著名的程序員和計算機科學(xué)家,他于20世紀(jì)70年代前后在很有影響力的《ACM通訊》(Communications of the ACM)上以專欄的形式連續(xù)發(fā)表了一系列短文,成功地總結(jié)和提煉了自己在長期的計算機程序設(shè)計實踐中積累下來的寶貴經(jīng)驗。這些短文充滿了真知灼見,而且文筆生動、可讀性強,對于提高職業(yè)程序員的專業(yè)技能很有幫助,因此該專欄大受讀者歡迎,成為當(dāng)時該學(xué)術(shù)期刊的王牌欄目之一?梢韵胂螽(dāng)時的情形,頗似早年金庸先生在《明報》上連載其武俠小說的盛況。
后來在ACM的鼓勵下,Jon Bentley經(jīng)過仔細(xì)修訂和補充整理,對各篇文章做了精心編排,分別在1986年和1988年結(jié)集出版了Programming Pearls(《編程珠璣》)和More Programming Pearls(《編程珠璣(續(xù))》)這兩本書,二者均成為該領(lǐng)域的名著。
后來,Programming Pearls經(jīng)過修訂重新出版為Programming Pearls(《編程珠璣(第2版)》),在2000年問世,書中的例子都改用C語言書寫,并多處提到如何用C++和Java中的類來實現(xiàn)。但是,《編程珠璣(續(xù))》卻一直沒有再版,其中的例子多以Awk語言寫成,但其語法與C相近,容易看懂。
這兩本書為何會成為程序員必讀的經(jīng)典?Jon Bentley博覽群書,旁征博引,無論是計算機科學(xué)的專業(yè)名著,如《計算機程序設(shè)計藝術(shù)》,還是普通的科普名著,如《啊哈!靈機一動》,都在作者筆下信手拈來、娓娓道出,更不用說隨處可見的作者自己的真知灼見了。如果說《計算機程序設(shè)計藝術(shù)》這樣的巨著代表了程序員們使用的“坦克和大炮”一類的重型武器,這兩本書則在某種程度上類似于魯迅先生所說的“匕首與投槍”一類的輕型武器,,更能滿足職業(yè)程序員的日常需要;蛘哒f前者是武俠小說中提高內(nèi)力修為的根本秘籍,后者是點撥臨陣招數(shù)的速成寶典,二者同樣都是克敵制勝的法寶,缺一不可。在無止境地追求精湛技藝這一點上,程序員、數(shù)學(xué)家和武俠們其實是相通的。
這兩本書到底寫了哪些內(nèi)容?適合哪些讀者閱讀?在美國,這兩本書不僅被用作大學(xué)低年級數(shù)據(jù)結(jié)構(gòu)與算法課程的教材,還用作高年級算法課程的輔助教材。例如,美國著名大學(xué)麻省理工學(xué)院的電氣工程與計算機科學(xué)開放式核心課程算法導(dǎo)論就將這兩本書列為推薦讀物。
這兩本書覆蓋了大學(xué)算法課程和數(shù)據(jù)結(jié)構(gòu)課程的大部分內(nèi)容,但是與普通教材的側(cè)重點又不一樣,不強調(diào)單純從數(shù)學(xué)上進行分析的技巧,而是強調(diào)結(jié)合實際問題來進行分析、應(yīng)用和實現(xiàn)的技巧,因此可作為大學(xué)計算機專業(yè)的算法、數(shù)據(jù)結(jié)構(gòu)、軟件工程等課程的教師參考用書和優(yōu)秀課外讀物。
書中有許多真實的歷史案例和許多極好的練習(xí)題以及部分練習(xí)題的提示與解答,非常適合自學(xué)。正如作者所建議的那樣,閱讀這兩本書時,讀者需要備有紙和筆,最好還有一臺計算機在手邊,邊讀邊想、邊想邊做,這樣才能將閱讀這兩本書的收益最大化。
(本文改編自《編程珠璣(第2版)》寄《編程珠璣(序)》的譯者序。)
本文關(guān)鍵詞:編程珠璣,由筆耕文化傳播整理發(fā)布。
本文編號:330780
本文鏈接:http://www.sikaile.net/wenshubaike/mishujinen/330780.html