Linux核心的創作者Linus曾說過:“C++是一門很恐怖的語言,而比它更恐怖的是很多不合格的程序員在使用着它”,這個世界上最難的編程語言可能非C++莫屬了,雖然有些誇張,但是, 這裏有一個真理,越是難度高的,越是含金量高,看看每月的編程語言排行榜就知道了,C++雖誕生時間很長,但直至現在它都幾乎霸佔了前三,可謂寶刀不老。
學習C++並不是一件容易的事情,如果你只是一時興起,那麼還是放下手中的書,改學別的比較容易入手的語言,如果你有興趣,想挑戰,那麼,達妹就來跟你聊聊,C++到底該怎麼學,需要看什麼書?
1、why要學習C/C++/object-c?
發現自己最拿手的java用起來真是笨手笨腳的,碰到好多實現起來巨繁瑣的問題,比如操作底層庫,和OS framework交互,做個用戶體驗好點的本地圖形程序等等,這些都是java的軟肋。
其實,我一直對底層頗感興趣,工作中也只能接觸一下JVM,但VM畢竟是VM,始終與底層失之交臂。
Linux、Mysql、Memcached、Boost、Apache、JVM、ACE... ... 很多基礎服務都是用C/C++實現的,要像瞭解他們原理、能看懂代碼、可以修改bug、增加新功能模塊
開發嵌入式、中小型項目C/C++項目,維護C/C++項目... ...
加深對系統底層的理解
2、How學習C/C++?
下文是我整理的一些C++圖書列表,按順序閱讀,可涵蓋入門到精通。
《The C programming language》必讀
《C++ Primer》,號稱是一本可以讓你從C或JAVA程序員轉爲一個真正的C++程序員的入門參考書,必讀。
《The C++ programming language》,C++之父,人稱B教主著作,在看過C++ primer後,應該可以跳章選讀。
《Think in c++》,網上說此書的中文版翻譯質量奇差,推薦看影印版,選讀。
《Effective c++》,類似 Effective java,講的是最佳實踐,程序員必讀。
《More effective c++》,上書的補充。
《The C++ standard library》,會寫C,不會用標準庫怎麼行。這就跟java程序員不會用java.util包一樣,必讀。
《Effective STL》,STL庫的最佳實踐。Effective C++作者又一力作,必讀。
《The annotated STL source》,STL源碼分析,這本書應該算是深入/精通類了,選讀。
《Generic programming and STL》,號稱C++編程裏,就是跟模板,泛型打交道,那麼精通泛型是勢在必行。
《C++ Template》,C++模板編程,代碼複用的經驗之道,必讀。
《Exceptional C++》,跟Effective C++類似,屬於最佳實踐和難題解析,書中列出了許多應用場景和實例代碼供讀者揣摩,選讀。
《More Exceptional C++》,上書的補充。
《Exceptional C++ Style》,上上書的補充
《Inside The C++ Object Model》,有了上面這些書做鋪墊,那麼終於可以讀此神書了。它會帶你遊覽C++對象模型的底層實現機制。讀完此書,任何C++代碼看起來如同行雲流水,必讀。
3、優秀的C/C++開源項目(閱讀代碼)
OS: Linux kernel LVS、Linux應用程序
DB: Mysql、PostgreSQL
Complier: JVM、GCC
Framework: OpenSip、SipProxy、
Net: ACE(Java Mina、Netty)、TCP/IP、HTTP協議棧
Cache: Memcached、Redis、
Library: STL(java util package)、Boost、Qt(UI)、
balance: Apache、Nginx
免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。
IT行業、互聯網、開發語言(Java、前端HTML5、Python、UI/UE、雲計算、自動化測試、大數據、人工智能、物聯網、遊戲開發、網絡安全、GO語言、PHP)相關資訊,大連千鋒會第一時間送到大家身邊,也可以關注微信公衆號【dalianqianfengjiaoyu】瞭解相關行業資訊。