• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            牽牛散步
            仗劍走天涯

            文 CSDN 孟巖  轉載自2005年第11期《程序員》雜志

            不知不覺,C++迎來了自己20歲的生日。20年來,C++從一個實驗室語言成長為軟件產業一流主導語言,在實際應用中取得了巨大的成功,同時也催生了大量為技術人員耳熟能詳的經典技術著作,比如Bjarne Stroustrup的《TC++PL》和《D&E》,Stan Lippman的《C++ Primer》,Scott Meyers的《Effective C++》,GoF的《Design Patterns》,Andy Koenig的《Ruminations on C++》,Herb Sutter的《Exceptional C++》,Andrei Alexandrescu的《Modern C++ Design》,Addison Wesley的“C++ in Depth”系列等。C++領域的一些經典圖書不但對于C++語言的發展起到了巨大的推動作用,而且對于其他相關技術領域也起到了指導和促進作用。例如Scott Meyers的“Effective系列”,開辟了技術圖書寫作的新風格,而“Design Patterns”的影響,更是遠遠超出C++的范疇。這些經典的好書,已經成為C++輝煌歷史的一部分而被人們銘記。 

            20年后的今天,軟件產業的規模和環境已經發生了深刻的變化。如今企業級應用整合與開發的任務主要由JavaC#Visual Basic以及各種新型動態語言來承擔,而C++的應用場合也有所收縮,不再是像1990年代中期那樣從上到下包打天下,而是呈現出鮮明的應用領域特色。相應的,近期的C++技術圖書也更加注重在特色領域的發揮。下面我們分別從幾個角度來了解近期C++圖書的熱點,并且展望未來一年中C++技術圖書中值得注意的選題。 

               

            經典著作全面翻新 

            這一兩年,一大批經典技術圖書都經歷了一次更新換代,C++經典圖書自然也不例外。第一個要說的就是Scott Meyers的《Effective C++》。這本書在1991年推出第一版,1998年推出第二版,在C++技術的傳播與教育方面居功至偉。包括我在內的很多C++開發者都是通過閱讀這本書而尋得升堂入室的門徑。今年,《Effective C++》推出了第三版。這一版決不是第二版的簡單修訂,而是根據八年來C++所發生的巨大變化而進行的一次全面改寫,幾乎是一本全新的書。其內容涵蓋了舊版的精髓,也體現了諸如Boost庫、TR1標準等C++領域最新成果。如果說這本書的內容發生了重大的變化,那么可以說不變的是這本書的地位——它仍然是每個嚴肅的C++開發者都應當反復閱讀領悟的重要作品。 

            另一本翻新的著作是Stan Lippman的《C++ Primer》第四版。這本書的歷史地位無需贅言,迄今為止仍然是對C++介紹最全面的一本著作。第四版進行了大幅度的刪修,篇幅減少近300頁,而內容也大幅修改,以反映C++近年來的變化。對于希望系統學習C++的新手,或者希望擁有一本手冊以備查的老手來說,這本書的地位是不可取代的。 

            有傳言說GoF打算翻新“Design Patterns”。該書第一版于1995年初版,此后十年,設計模式領域的理論探討和實踐基本上仍然圍繞這本書中的觀點和內容進行,少有突破。已經有不少開發者對于這種情況表示了不滿,認為初版中的一些觀點已經過時,甚至對現在的一些技術應用構成思想上的羈絆。但是此書實在聲名太盛,真正的突破恐怕只能由GoF自己完成,因此本書新版如果推出,必將是技術界內的一樁大事。不過傳言亦稱,GoF對于新版“Design Patterns”是否繼續使用C++作為示范語言存在分歧。不管怎樣,相信廣大讀者會對這本書抱有高度的關注。 

            新銳佳作劍走偏鋒 

            近年來,一批C++技術新銳崛起,給我們帶來了一批令人耳目一新的C++好書。在技術上,這批圖書偏重于C++模板風格的巧妙運用,富于智趣而對實踐的關注略顯不足。這類圖書以2001Andrei Alexandrescu的《Modern C++ Design》為開端,之后又有《Boost Graphic Library》,《C++ Template Metap- rogramming》等。這些書一度以其新穎的思想和奇妙的技巧吸引了大家的目光,但由于缺乏實踐的支撐,逐漸褪去光環。這兩年,這類題材逐漸縮減。即使像Andrei Alexandrescu那樣的模板技術奇才,最近與Herb Sutter合作的《C++ Coding Standard》也并沒有過多地炫耀模板技巧,而是中規中矩地對C++編碼的經驗做了貼近實踐的總結。這本書與Steve McConnell的經典著作《Code Complete II》相配合,應成為每一位C++開發者必讀的基本著作,將幫助讀者奠定堅實的編碼和微觀設計技術基礎。 

            BoostC++社群盡人皆知的“準標準庫”,其中大量的組件已經基本成熟并可供應用。最近Bjorn Karlsson撰寫的《Beyond C++ Standard Library: An Introduction to Boost》是市面上第一本全面介紹Boost的著作。對于那些勇于吃螃蟹的C++先鋒開發者來說,這本書無疑是值得一讀的。不過在C++社群,對Boost庫還存在爭議。大部分C++實踐者比較保守,這本書對他們的吸引力恐怕將打折扣。 

            Stephen Dewhurst是近年來比較活躍的新銳作家,他的兩本書《C++ Gotchas》和《C++ Common Knowledge》,單獨來看都是值得一讀的好書,可惜現在不是1995年,而是2005年,Scott Meyers、Herb Sutter煌煌巨著已然危急九五,Dewhurst只好自嘆施手略慢。不過我們希望他能夠再接再厲,找到創新點,突破前人。 

            相比之下,中文版即將問世的《Imperfect C++》就比較有新意,很值得一讀,以至于Bjarne Stroustrup都相當贊賞。這位C++之父表示,如果不是因為該書太厚,他一定會將其納入著名的“C++ in Depth”系列。這在事實上肯定了本書的高質量。我個人認為,這本書是一年來出版的最值得精讀的C++著作,其中對于不少實踐中經常遇到的難題進行了深入的分析,給出了實實在在的解決方案。作者Matt Wilson憑借此書以及其系列模板程序庫崛起為C++社群中引人注目的新星,實在可喜可賀。 

               

            關鍵領域期待佳作 

            未來C++將主要在系統級復雜應用程序、高性能、實時中間件及嵌入式領域施展,同時,隨著多核CPU的的普及和網絡安全重要性的空前提升,在并發程序設計和安全程序設計方面,C++也將獲得新的應用空間。因此,在這些具體領域的C++著作更值得關注。 

            1996年,John Lakos出版了《Large Scale C++》一書,該書與 “C++ In Depth”系列中的《Applied C++》一樣,是C++著作中極少數實戰派佳作,其中字字句句都來自于作者豐富的實際項目經驗,對于一線的C++開發者來說是特別值得咀嚼體味的好書??上н@本書在國內一直沒有得到應有的重視,這可能跟本書中譯本出版時間過晚,且翻譯質量不佳有關。好消息是,John Lakos即將在2006年推出其新作《Scalable C++》。我本人將此書視為未來一年中C++領域最令人期待的作品。這一方面是出于我對于作者的高度信任,另一方面是由于該書題材的極端重要性。該書副標題為“基于組件的軟件開發”,而“組件化”這一主題,是C++十幾年來的一塊心病。在未來,無論C++應用在何種場合,“組件化”是必不可少的基本要求。而COM技術雖然在組件化方面比較成熟,但是不具有可移植性,而且對于無須跨語言的C++開發項目來說過于復雜。因此,C++社群需要自己探討經濟適用的組件化實用方案。John Lakos本人從事大型復雜應用軟件開發多年,在這方面的經驗無人能敵,由他來對這個主題進行深入剖析,并且給出實際解決方案,毫無疑問是再合適不過的了。雖然這本書還在寫作過程中,但是我們有理由對其抱有充分信心。在此我也呼吁本書中文版未來的出版者認真對待此書的翻譯制作,不要重蹈《Large Scale C++》的覆轍。 

            說到COM,自從.NET推出,COM的書幾乎一夜之間絕了種,幾乎無人再勇于炒這碗冷飯。但這次出版界的茶實在涼得快了些,事實上直到今天,COM開發仍然是Windows平臺上應用開發的一個重要方向。特別是在前兩年微軟Windows核心向.NET全面轉型的左傾冒險主義的嘗試以失敗告終后,在可見的未來,Windows操作系統將繼續構建在C/C++COM的基礎之上——這就確保了COMWindows平臺上的重要地位將至少延續到2011年之后。因此,COM、ATLWTL開發技術在未來幾年都還是頗具意義的出版題材。特別是近年來ATL/WTL的發展之快,相比之下,技術出版在這方面出現了一個空白點。此外,開源的Mozilla項目提供了一個可移植到所有主流平臺的COM實現,這對于C++開發者來說是很具有吸引力的,卻一直沒有出版資源的關注,令人遺憾。 

            C++近年來的一個應用熱點是復雜網絡應用的開發,ACE在這方面已經成為越來越流行的選擇,而ICE作為目前可用的最先進的高性能中間件產品,崛起的勢頭很猛。這兩方面目前都有一些好書,特別是最近出版的《ACE Programmers Guide》,對于ACE編程入門很有好處。而ICE 1.3版的手冊早已由馬維達先生譯成中文,可在網上自由獲得。不過坦率地說,這方面的圖書還遠遠不夠,ACE原作者Doug Schmidt所著的兩卷本《C++ Network Programming》可讀性和實用性不足,而ICE手冊深度和廣度都顯不夠,我們期望這方面能有更好的著作出現。 

            隨著多核CPU的普及,并發程序設計將成為C++技術上的一個新熱點。這方面目前的好書幾乎沒有,不知道這個巨大的空白將由何方神圣來填補。 

            同樣,網絡安全重要性的空前提升對C++開發提出了很多新的具體要求,很多C++老手面臨一個“再教育”的問題。這方面Microsoft Press的《Writing Safe Code》,OReilly的《Secure Programming Cookbook for C and C++》,以及最近Pearson出版的《Secure Coding in C and C++》都是不錯的參考。不過我發現目前C++開發者并未普遍重視這個問題。也許管理層還需要更加“血淋淋的教訓”來刺激一下,才會有革新的動力。 

            在嵌入式方面,由于應用復雜度的逐漸提升和Symbian OS/Windows CE等面向消費的高級嵌入式操作系統的廣泛應用,給C++提供了一個廣闊的發揮空間??上г谶@方面,真正堪稱經典的好書還是鳳毛麟角,看來還需要時間和經驗的積淀。不過有一本書特別值得一提,北航出版社去年引進的《嵌入式系統的微模塊化設計》被國際嵌入式開發領域公推為數年來年度最重要的嵌入式軟件開發技術著作,其中含有一些意義深遠的創新思想,非嵌入式開發者也有必要了解此書的大致思想。 

               

            總結 

            程序設計語言數以千計,能夠廣為流傳的不過幾十種,而能夠風光20年的更是屈指可數。Fortran已經問世50年,仍然是科學計算首選,C語言輝煌30年,至今老當益壯。C++順利地度過了自己的20歲生日,相信屬于它的日子還很長很長。作為C++開發者,我們也希望看到優秀的C++技術圖書不斷涌現。歷史證明,C++領域內的技術創新,不但對于C++開發具有重大意義,而且對于整個軟件開發技術都具有重大意義。我們有理由相信,在下一個十年里,以高水平C++技術專家和作家為代表的C++技術社群能夠繼續為軟件技術做出突出的貢獻。

             

            posted on 2006-02-28 17:07 牽牛散步 閱讀(696) 評論(0)  編輯 收藏 引用
             
            久久国产精品无码一区二区三区 | 国产99久久精品一区二区| 性做久久久久久免费观看| 久久久精品久久久久影院| 欧美亚洲国产精品久久久久| 色婷婷综合久久久久中文一区二区| 国产亚洲美女精品久久久2020| 久久精品国产亚洲AV无码偷窥| 久久综合综合久久97色| 久久精品三级视频| 久久精品中文字幕一区| 久久精品国产亚洲av麻豆色欲| 99久久精品免费看国产一区二区三区 | 国产精品久久久久久福利69堂| 久久久WWW成人免费毛片| 2021国内精品久久久久久影院| 久久91精品国产91久久麻豆| 免费一级欧美大片久久网| 国产一区二区三区久久精品| 久久99热这里只有精品66| 久久免费视频观看| 亚洲愉拍99热成人精品热久久| 久久国产影院| 国产亚洲精久久久久久无码AV| 男女久久久国产一区二区三区| 亚洲国产成人精品女人久久久 | 久久99久久99精品免视看动漫| 天堂无码久久综合东京热| 日本久久久精品中文字幕| 久久精品国产网红主播| 久久人人爽人人爽人人片av麻烦 | 久久婷婷午色综合夜啪| 久久99精品久久久久久野外 | 亚洲欧洲日产国码无码久久99| 亚洲国产高清精品线久久| 91久久精品视频| 久久93精品国产91久久综合| 国产高清国内精品福利99久久| 久久99精品国产| 精品99久久aaa一级毛片| 国产亚洲色婷婷久久99精品91|