翻译:如何成为一个专业级的c++程序员An answer from quora

翻译:如何成为一个专业级的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),这经得起时间的考验。

 
 
分类: C/C++Translation
标签: C++书籍学习推荐高级专业
原文地址:https://www.cnblogs.com/Leo_wl/p/2865913.html