這本C++經(jīng)典書出新版本啦,看過都說好
來自公眾號:異步圖書(ID:ptpressitbooks)
在C++編程方面的書籍中,《C++沉思錄》是值得C++程序員進(jìn)階學(xué)習(xí)的經(jīng)典書。
圖書作者凱尼格曾在貝爾實(shí)驗(yàn)室與C++之父比雅尼·斯特勞斯特魯普博士共同發(fā)展C++語言,這本《C++沉思錄》匯聚了凱尼格多年來對C++語言深層次的分析和獨(dú)到的見解。書籍內(nèi)容由凱尼格在知名技術(shù)雜志發(fā)表的技術(shù)文章、世界各地發(fā)表的演講以及斯坦福大學(xué)的課程講義整理而成。
經(jīng)典書的內(nèi)容自然是值得暢讀的,但今天異步君要和大家分享這本書創(chuàng)作背后的故事——關(guān)于作者本人的愛情故事。
進(jìn)入貝爾實(shí)驗(yàn)室,結(jié)識C++創(chuàng)建者
與C語言一樣,C++語言也是在貝爾實(shí)驗(yàn)室誕生。1979年,比雅尼·斯特勞斯特魯普博士(Bjarne Stroustrup)在貝爾實(shí)驗(yàn)室工作。
在工作中,他發(fā)現(xiàn)Simula語言具備的特點(diǎn)使其很適用于大型軟件開發(fā),但運(yùn)行速度太慢,無法在現(xiàn)實(shí)需求中發(fā)揮其功效;BCPL的運(yùn)行速度雖快得多,但它過于低級的特性,使其并不適于大型軟件的開發(fā)。
所以,他想找到一門語言,既便于開發(fā)大型軟件開發(fā),又能保持不錯(cuò)的運(yùn)行速度。
最終,他選中了可移植、用途廣、運(yùn)行速度較快的C語言,他為C語言增加了一些類似Simula的特點(diǎn),使得新語言逐漸能夠滿足需求現(xiàn)實(shí)中的開發(fā)需求,這門新語言剛開始被稱作“C with Classes”。
而在這之后不久,本書的作者之一凱尼格(Andrew Koenig)在貝爾實(shí)驗(yàn)室的研究方向也轉(zhuǎn)向了這門新語言,他和比雅尼·斯特勞斯特魯普成為了同事,一起推進(jìn)“C with Classes”的發(fā)展。
在1983年這一年,“C with Classes”正式改名為“C++”(++是C語言中的增值操作符)。這門新語言已經(jīng)在C的基礎(chǔ)上加入了許多新特性,其中包括虛函數(shù)、函數(shù)名和運(yùn)算符重載、參考、常量、用戶可控制的自由空間存儲區(qū)控制、改良的類型檢查,以及新的雙斜線(//)單行注解風(fēng)格。
同一年,芭芭拉·摩爾(Barbara E.Moo)也進(jìn)入貝爾實(shí)驗(yàn)室,負(fù)責(zé)Fortran 77編譯器的研究工作,這是當(dāng)時(shí)第一個(gè)用C++語言編寫的商業(yè)產(chǎn)品。她和凱尼格成為同事,并結(jié)識了“C++之父”比雅尼。這三人,一位是C++的創(chuàng)立者,兩位是C++語言的研究者和推動(dòng)者,他們相聚于貝爾實(shí)驗(yàn)室,在C++日后的不斷演進(jìn)中都做出了許多貢獻(xiàn)。
程序員中的神仙伉儷,參與完善C++
1988年,凱尼格組織召開了第一個(gè)完全意義上的C++會(huì)議。第二年,ISO/ANSI C++委員會(huì)成立,他加入了該委員會(huì)并一直擔(dān)任項(xiàng)目編輯。此后,他不斷發(fā)表C++方面的論文,應(yīng)邀到世界各地演講,不遺余力地做C++的研究和推廣工作。
芭芭拉·摩爾,在貝爾實(shí)驗(yàn)室負(fù)責(zé)AT&T的C++編譯器項(xiàng)目,直到貝爾實(shí)驗(yàn)室的軟件開發(fā)業(yè)務(wù)最終被轉(zhuǎn)讓出去。
在貝爾實(shí)驗(yàn)室工作的這么多年,凱尼格和芭芭拉不僅是工作中的伙伴,更成為了生活上的知音。1998年6月22日,在相戀多年后,芭芭拉·摩爾和凱尼格在新澤西的莫里森鎮(zhèn)喜結(jié)連理,“C++之父”比雅尼·斯特勞斯特魯普也參加了他們的婚禮。
凱尼格和芭芭拉二人同為貝爾實(shí)驗(yàn)室工作,同樣是研究C++語言,親身參與了C++的演化和變革,對C++的變化和發(fā)展起到了重要作用。他們二人因?yàn)镃++而相識、相知,并最終走向了婚姻的殿堂,他們二人不僅是C++研究領(lǐng)域的“第一神仙眷侶”,而且成為程序員群體里知名度甚高的“神仙伉儷”。
精選專欄文章,合著《C++沉思錄》
這本《C++沉思錄》,正是凱尼格在芭芭拉·摩爾的建議下,將他前后十幾年在各大技術(shù)論壇上發(fā)表的100多篇專欄文章精選、編修,再加上自己多年的沉淀和思考,整理而成。
也正是因?yàn)槊撎ビ诩夹g(shù)文章,所以這本書的可讀性很高,而且知識密度也相當(dāng)大,這也使得本書區(qū)別于其他技術(shù)類書籍。
尤為值得一提的是,在眾多C++大師中,凱尼格的教學(xué)實(shí)踐能力和文字能力歷來備受好評,他發(fā)表的100多篇專欄文章,以其樸實(shí)而又精深的思想,準(zhǔn)確而又權(quán)威的論述,高屋建瓴而又平易近人的表達(dá)方式,成為業(yè)界公認(rèn)的正統(tǒng)“C++之聲”。
比雅尼·斯特勞斯特魯普在他的主頁上就特別推薦人們?nèi)ラ喿x這本書,ACCU的主席Francis Glassborow也在書評中慷慨地向讀者推薦此書,說“ 我對這本書沒什么更多可說的,因?yàn)槊總€(gè)C++程序員都應(yīng)該去讀這本書。如果你在閱讀的過程中既沒有感到快樂,又沒學(xué)到什么東西,那你可真是罕見的人物”。
而著名C++專家ChuckAllison,在他自己的書C & C++ Code Capsules (本書中文版《C和C++代碼精粹》)中,更是直截了當(dāng)?shù)卣f:“對我來說,這是我所有C+ +藏書中最好的一一本。
C++發(fā)展史上的兩位重要人物夫唱婦隨,一同出版著作,本身就足以引起整個(gè)C+ +社群的高度重視,而這本書不平凡的來歷,和出版之后5年間所獲得的極高贊譽(yù),更加確立了它在C++技術(shù)書籍中的經(jīng)典地位。
對于我們而言,閱讀這本書的收獲并不僅在于掌握了什么技術(shù),而是在技巧背后告訴我們的思考方法,以及解決問題的步驟和方向。正所謂“授人以魚不如授人以漁”,這正是本書的獨(dú)特價(jià)值所在。
參考資料:
維基百科:
https://zh.wikipedia.org/wiki/C%2B%2B
https://en.wikipedia.org/wiki/Andrew_Koenig_(programmer)
https://en.wikipedia.org/wiki/Barbara_E._Moo
圖書推薦

C++沉思錄
作者: [美]安德魯·凱尼格(Andrew Koenig) ,
芭芭拉·摩爾(Barbara Moo)
譯者: 黃曉春
內(nèi)容簡介:
《C++沉思錄》基于作者在知名技術(shù)雜志發(fā)表的技術(shù)文章、世界各地發(fā)表的演講以及斯坦福大學(xué)的課程講義整理、寫作而成,融聚了作者10多年C++程序生涯的真知灼見?!禖++沉思錄》分為6篇,共32章,分別對C++語言的歷史和特點(diǎn)、類和繼承、STL與泛型編程、庫的設(shè)計(jì)等幾大技術(shù)話題進(jìn)行了詳細(xì)而深入的討論,細(xì)微之處幾乎涵蓋了C++所有的設(shè)計(jì)思想和技術(shù)細(xì)節(jié)。本書通過精心挑選的實(shí)例,向讀者傳達(dá)先進(jìn)的程序設(shè)計(jì)方法和理念。《C++沉思錄》適合有一定經(jīng)驗(yàn)的C++程序員閱讀學(xué)習(xí),可以幫助他們提升技術(shù)能力,成為C++程序設(shè)計(jì)的高手。
— 【 THE END 】— 本公眾號全部博文已整理成一個(gè)目錄,請?jiān)诠娞柪锘貜?fù)「m」獲?。?/span> 3T技術(shù)資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數(shù)據(jù),人工智能等等。在公眾號內(nèi)回復(fù)「1024」,即可免費(fèi)獲取?。?/span>
