翻譯:如何成為一個專業級的c++程序員---An answer from quora


前幾天轉載一篇quora上的文章,但是英文的,我還是覺得有必要將這篇文章翻譯一下,希望更多的人能夠看到

C++是一門復雜的語言

成為專業級c++程序員的路線:

步驟0:理解c++語言

      必須去讀Stroustrup的《The C++ Programming Language》,這個是必經的道路

步驟1:了解c++歷史,理解c++的特性是怎樣被設計出來的

      去讀Stroustrup的《The Design and Evolution of C++

步驟2:理解聲明一個類時,c++內部做了什么

       Stanley Lippman 的《Inside C++ Object Model》會告訴你的

步驟3:如何寫出高效的c++程序

      Agner Fog的優化指南會帶你入門

步驟4:如何寫出正確的c++程序

      《Effective C++》和《More Effective C++》這兩本書是必讀的,讀完這兩本書之前,不要參加任何技術性的面試。最好在google搜索一下Scott Meyers,並閱讀他所有的文章,他對如何寫出正確的c++程序有深刻的理解

步驟5:理解設計模式

      理解設計模式是你閱讀大型c++庫的基礎,比如boot和qt。推薦閱讀The Gang of 4 的《Design patterns

步驟6:理解如何搭建一個高效的Framework

      開始之前,最好閱讀 Martin Reddy的《API design》。我們走了這么遠,依然還沒有觸及到元編程和模板

步驟7:元編程和模板

  1. 理解c++模板 《c++ templates
  2. Andrei Alexandrescu的《Modern C++ Techniques
  3. Andrei Alexandrescu的《Elements-Programming
  4. 理解怎樣使用STL,《The C++ Standard Library

步驟8:理解如何成為一個元編程的高手

      這一步,你先不要學習c++,先學習一下Haskell 或者CommonLisp,最好學習Haskell 。閱讀這篇文章What Does Haskell Have to Do with C++和這本書《Let Over Lambda》。

  1. 現在是時候放下c++了,去學習編譯器、函數編程、元編程等。
  2. 自己去實現一個c++編譯器(如果你能在google、facebook某個好前景,就不要在費心機了)

你可能已經注意到,從步驟8開始,這條道路已經變得模糊不清了,所以,步驟8之后,你要自己去尋找道路了

我好想還沒有提及閱讀c++ 0x11標准,唉,這么多需要學,但是生命短暫。

所以,我的觀點是只要我們的計算機工作在馮諾依曼體系之下,c++語言就會在可預見的將來一直存在,所以,你最好准備投入十年的時間來學習c++和計算機編程,這是值得的,這會給你帶來不錯的薪水,不管你學的哪種語言(VB, Java, C# and now Go),這經得起時間的考驗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM