ISBN: 9789862019061
出版日期: 2014-04-30
作者: Andrew Koenig,Barbara E. Moo
譯者: 黃曉春
裝訂: 平裝.單色印刷.416頁.23.
這本書是一本C++的經典之作,為了讓台灣的讀者不會有遺珠之憾,博碩文化特地引進本書,並將之編為《名家名著》系列第05號書籍。兩位作者的來頭都不小(請見
作者簡介
),而本書更是作者十年磨一劍的經典之作。
作者Koenig在C++的整個發展過程中具有舉足輕重的地位,是C++社群中最受尊敬的大師之一。他的文章以樸實而又精深的思想,準確而又權威的論述,,成為業界公認的『正統C++之聲』。本書命名為《Ruminations on C++》充分顯現出作者的自信和對這本書的珍愛。
本書命名為《C++沉思錄》,顧名思義,這是一本需要多加思考的書籍。作者在書中不斷強調『想一想』這件事,從思考的過程中,逐漸發展出具有實用性的C++程式。就內容來看,這本書其實也可以命名為《C++設計模式》、《Thinking in C++》、《C++及STL的設計和演化》。
這是一本進階書,對於初學C++的人來說並不適合。但對於已經學會C++語法,有過一小段撰寫C++程式經歷的人來說,本書有助於理解要怎樣才算是用對了C++來設計程式、為何C++要如此設計、STL當中的奧秘(例如iterator為何要如此設計)。
在本書的範例程式碼中,作者從簡單的問題開始設計起,逐步擴充解決更多的問題,考慮周詳,並且充分應用了C++特有的功能(相對於Java而言),特別是指標、運算子overload、friend等等的技術,這也是C++之所以複雜龐大的主因,然而既然選擇了C++作為開發工具,並因此付出了更多的學習時間,若不將之應用出來,就太可惜了。讓我們來看看大師是如何充分應用各種C++的技巧來解決問題。
這本書在C++的教學方式上有獨到之妙。作者循循善誘,娓娓道來,所舉的例子雖然小,但是非常典型,切中要害,讓你花費不大的精力就可以掌握相當多的東西。
這本書與坊間大部分的C++書籍都不一樣,那些書所關注的是語言本身,而不是如何運用這種語言。
作者對C++有著居高臨下的見識,對於C++的設計理念和實際應用有非常清晰的觀點。眾多紛繁複雜的C++特性如何組合運用,如何有效運作,什麼是主流,什麼是旁支,哪些是通用技術,哪些是特殊的技巧,在書中都有清晰明白的介紹。
識字最多的人,一定是最好的作家嗎?能演奏最多音符的人,一定是最好的音樂家嗎?那些瞭解最多語言特性的人就是最好的程式設計師(這真是荒謬)。程式設計工作中最困難的部分並不是去學習語言細節,而是理解問題的解決之道。
作者希望讀者能運用這些idea 去理解一堆拼湊的程式碼與一個抽象之間的差別──這種差別,就好像一堆辭藻與一篇文章、一堆音符與一支歌曲的差別一樣。C++支援好幾種不同的抽象形式,其中最著名的有抽象資料型態(ADT)、物件導向程式設計和泛型程式設計。
全書多次強調,C++最基本的設計理念是用類別來表示概念,C++解決複雜性的基本原則是抽象,物件導向思想是C++的手段之一,而不是全部等等。這些言論可以說是擲地有聲,可引導許多C++程式設計師走向正確的道路。
如果你是C++的高手,請試著讀讀本書,看看你能理解多少?多快理解?或許你會發現,原來要掌握博大精深的C++,並非麼簡單。
如果您只是個剛學會C++的程式設計師,相信看完本書後,一定會發出『原來C++可以這樣做啊!』、『原來程式庫是這樣寫的啊!』、『原來遇到問題要這樣解決啊!』等等數不完的讚嘆之聲!
大師的推薦
Koenig和Moo的《C++沉思錄》將會為許多人提供有用的幫助,對於C++究竟是什麼,以及能夠做些什麼,他們的先見之明,在這本書中隨處可見。——C++發明人 Bjarne Stroustrup
對我來說,這是我所有C++藏書中最好的一本。——《C & C++ Code Capsules》作者 Chuck Allison
作者簡介
Andrew Koenig,Barbara E. Moo
作者簡介
Andrew Koenig
如果說C++的發明人Bjarne Stroustrup是C++領域的第一把交椅,那麼Andrew Koenig可以說是C++的第二號人物。他不但是Bjarne Stroustrup的好友,也是C++標準委員會的資深專案編輯,換句話說,您現在看到的C++標準,有許多都是經過他的手實作或審定出來的。難能可貴的是,他與Bjarne Stroustrup在C++方面的想法高度一致,這也是C++之所以能夠蓬勃發展的主因之一。
Koenig寫的書不多,但論文與專欄卻很多,比較有名的著作物包含《Accelerated C++: Practical Programming by Example》、(本書)《Ruminations on C++: A Decade of Programming Insight and Experience》、《C++ In-Depth Box Set》(與Bjarne Stroustrup合著)、《C Traps and Pitfalls》,大多數的書籍都屬於進階書。
Barbara E. Moo
Barbara E. Moo是Andrew Koenig的老婆,除了與丈夫合寫了上述前三本經典著作外,還與Stanley B. Lippman合寫了著名的《C++ Primer》。在Stanley B. Lippman的《Inside the C++ Object Model》書中提到的Foundation專案,正是由Barbara E. Moo負責管理(除了其夫與Bjarne),算是C++當中的巾幗英雄。
Zone | Order Total (RM) | Delivery Fee (RM) |
---|---|---|
West Malaysia | Flat Rate | 6.00 |
Zone | Items/Weight | Delivery Fee (RM) |
---|---|---|
East Malaysia | First 1.00 kg | 12.00 |
Extra 1.00 kg | 2.50 | |
Singapore | First 1.00 kg | 25.00 |
Extra 1.00 kg | 5.00 | |
Australia, New Zealand | First 1.00 kg | 159.77 |
Extra 0.50 kg | 52.65 | |
Austria, Denmark, Finland, Ireland, Switzerland, Russia | First 1.00 kg | 157.78 |
Extra 0.50 kg | 34.31 | |
Brunei, Cambodia, Laos, Mongolia | First 1.00 kg | 175.10 |
Extra 0.50 kg | 87.14 | |
Belgium,France, Germany, Netherlands, Spain, U.K | First 1.00 kg | 150.94 |
Extra 0.50 kg | 30.46 | |
China | First 1.00 kg | 96.44 |
Extra 0.50 kg | 25.35 | |
Bangladesh, Brazil, Iraq, Pakistan, Qatar, S.Arabia, UAE, Sri Lanka | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
South Africa | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
Philippines | First 1.00 kg | 91.42 |
Extra 0.50 kg | 15.29 | |
Canada, United States, Mexico | First 1.00 kg | 162.58 |
Extra 0.50 kg | 35.90 | |
Hong Kong | First 1.00 kg | 80.63 |
Extra 0.50 kg | 29.06 | |
India | First 1.00 kg | 113.30 |
Extra 0.50 kg | 22.28 | |
Indonesia | First 1.00 kg | 107.35 |
Extra 0.50 kg | 24.87 | |
Japan | First 1.00 kg | 112.97 |
Extra 0.50 kg | 35.03 | |
Macau | First 1.00 kg | 92.93 |
Extra 0.50 kg | 13.82 | |
Singapore | First 1.00 kg | 74.75 |
Extra 0.50 kg | 21.49 | |
Taiwan | First 1.00 kg | 94.42 |
Extra 0.50 kg | 34.76 | |
Thailand | First 1.00 kg | 94.10 |
Extra 0.50 kg | 28.25 | |
Vietnam | First 1.00 kg | 98.94 |
Extra 0.50 kg | 14.34 |