Translation: how to become a professional C ++ programmer-an answer from Quora

Source: Internet
Author: User

I have reposted an article on Quora a few days ago. But in English, I still think it is necessary to translate this article. I hope more people can see it.

C ++ is a complex language.

How to become a professional C ++ programmer:

Step 0: Understand the C ++ Language

The C ++ programming language of stroustrup must be read.

Step 1: Understand the C ++ history and how C ++ features are designed

Read the design and evolution of C ++ from stroustrup.

Step 2: Understand What c ++ did internally when declaring a class

Stanley Lippman's "Inside C ++ Object Model" will tell you

Step 3: Write efficient C ++ programs

The optimization guide of agner fog will introduce you

Step 4: Write the correct C ++ Program

Both Objective C ++ and more objective C ++ must be read. Before reading these two books, do not take any technical interviews. It is best to search Scott Meyers on Google and read all his articles. He has a deep understanding of how to write the correct C ++ program.

Step 5: Understand the design mode

Understanding the design pattern is the basis for reading large C ++ libraries, such as boot and QT. Read design patterns from the gang of 4.

Step 6: understand how to build an efficient framework

Before you start, you 'd better read Martin Reddy's API design. We have gone so far that we have not yet reached the meta programming and templates.

Step 7: metaprogramming and templates

  1. Understanding C ++ template C ++ templates
  2. Andrei Alexandrescu's modern c ++ Techniques
  3. Andrei Alexandrescu's elements-Programming
  4. Understand how to use STL, the C ++ standard library

Step 8: understand how to become a master of metaprogramming

In this step, do not study c ++. First, learn Haskell or commonlisp. It is best to learn Haskell. Read this article what does Haskell have to do with C ++ and this book "Let over Lambda".

  1. Now it's time to let go of C ++ and learn compiler, function programming, metaprogramming, and so on.
  2. Implement a C ++ compiler by yourself (if you can have a good prospect on Google or Facebook, don't bother)

You may have noticed that the road has become blurred since Step 8. Therefore, after Step 8, you have to find the road by yourself.

I think I have not mentioned reading the C ++ 0x11 standard yet. Alas, there are so many things to learn, but my life is short.

Therefore, my opinion is that as long as our computer works under the Von noriman system, the C ++ language will always exist in the foreseeable future, you 'd better prepare to invest ten years to learn C ++ and computer programming. This is worth it, and it will bring you a good salary, no matter which language you learn (VB, Java, C # And now go.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.