如何成為一個專業級的c++ 程式員— An answer from quora

來源:互聯網
上載者:User

C++ is a Huuuuuge Language.
The Path towards Expertise would be:

  • Understanding C++ - Step 0

You have got to read The C++ Programming Language by Stroustrup, no way you can escape this. http://www.amazon.com/The-Progra...    

  • Understanding Histrory of C++ and Why come they designed the C++ Features - Step 1

The Design and Evolution of C++ Book from Stroustrup would help you.http://www.amazon.com/The-Design...

  • Understanding Internals whats happening when you declare classes. -Step 2

Inside C++ Object Model by Stanley Lippman would help you.http://www.amazon.com/Inside-Obj...

  • How to write Efficient Programs in C++ - Step 3

Agner Fog Optimization Manuals would give you Start. http://www.agner.org/optimize/ 

  • How to write Correct C++ Programs - Step 4

Effective and More Effective C++ book would help, you cannot clear
any C++ technical Interview without reading this. Better search for
Scott Meyers in Google and Read Everything. He has huge insights for
writing correct way of C++

  1. http://www.amazon.com/Effective-...
  2. http://www.amazon.com/More-Effec...        
  • Understanding Design Patterns - Step 5

It would give basics to understand Huge C++ framework libraries such as Qt , Boost etc., The Gang of 4 Book would help you. http://www.amazon.com/Design-Pat...

  • Understanding How to Create Efficient Frameworks - Step 6

API Design by Martin Reddy would give you a start. http://www.amazon.com/API-Design...
Phew .... We came so far without even touching Meta Programming and Templates.

  • Meta Programming and Templates - Step 7
  1. Understanding C++ Templates would help. http://www.amazon.com/C-Template...
  2. Modern C++ Techniques from  Andrei Alexandrescu  would give you a start.http://www.amazon.com/Modern-Des...
  3. Another good stuff from Andrei Alexandrescu http://www.amazon.com/Elements-P...
  4. Knowing how to use STL also helps, The C++ Standard Library.http://www.amazon.com/The-Standa...
  • Understanding How to become proficient in MetaProgramming - Step 8

For this you need to take different path instead of learning C++ ,
you would learn Haskell or CommonLisp. Haskell would be perfect. http://bartoszmilewski.com/2009/...
But i took the other one (Common Lisp). http://letoverlambda.com/

  • Now its time to lose focus on C++  and Learn Compilers, Functional programming, meta programming etc..
  • Implement C++ Compiler. (no mere souls  done that if you can pull off you got big future in Google,Facebook etc..)

You may notice from Step 8, it become vague path. So I would say after Step 8 you need to invent your own Path. 
Did I mention to read C++ 0x11 oh god So much to read but life is too short .
So
my opinion would be C++ language is gonna stay for foreseeable future
unless we work on computer which is not based on Von neumann
architecture.
So better invest your 10 years to expertise C++  and Computer programming.

It does pay off, you can demand Good Salary, no matter what hype is (VB, Java, C# and now Go). Its tested against Time .

C++ is a Huuuuuge Language.
The Path towards Expertise would be:

  • Understanding C++ - Step 0

You have got to read The C++ Programming Language by Stroustrup, no way you can escape this. http://www.amazon.com/The-Progra...    

  • Understanding Histrory of C++ and Why come they designed the C++ Features - Step 1

The Design and Evolution of C++ Book from Stroustrup would help you.http://www.amazon.com/The-Design...

  • Understanding Internals whats happening when you declare classes. -Step 2

Inside C++ Object Model by Stanley Lippman would help you.http://www.amazon.com/Inside-Obj...

  • How to write Efficient Programs in C++ - Step 3

Agner Fog Optimization Manuals would give you Start. http://www.agner.org/optimize/ 

  • How to write Correct C++ Programs - Step 4

Effective and More Effective C++ book would help, you cannot clear
any C++ technical Interview without reading this. Better search for
Scott Meyers in Google and Read Everything. He has huge insights for
writing correct way of C++

  1. http://www.amazon.com/Effective-...
  2. http://www.amazon.com/More-Effec...        
  • Understanding Design Patterns - Step 5

It would give basics to understand Huge C++ framework libraries such as Qt , Boost etc., The Gang of 4 Book would help you. http://www.amazon.com/Design-Pat...

  • Understanding How to Create Efficient Frameworks - Step 6

API Design by Martin Reddy would give you a start. http://www.amazon.com/API-Design...
Phew .... We came so far without even touching Meta Programming and Templates.

  • Meta Programming and Templates - Step 7
  1. Understanding C++ Templates would help. http://www.amazon.com/C-Template...
  2. Modern C++ Techniques from  Andrei Alexandrescu  would give you a start.http://www.amazon.com/Modern-Des...
  3. Another good stuff from Andrei Alexandrescu http://www.amazon.com/Elements-P...
  4. Knowing how to use STL also helps, The C++ Standard Library.http://www.amazon.com/The-Standa...
  • Understanding How to become proficient in MetaProgramming - Step 8

For this you need to take different path instead of learning C++ ,
you would learn Haskell or CommonLisp. Haskell would be perfect. http://bartoszmilewski.com/2009/...
But i took the other one (Common Lisp). http://letoverlambda.com/

  • Now its time to lose focus on C++  and Learn Compilers, Functional programming, meta programming etc..
  • Implement C++ Compiler. (no mere souls  done that if you can pull off you got big future in Google,Facebook etc..)

You may notice from Step 8, it become vague path. So I would say after Step 8 you need to invent your own Path. 
Did I mention to read C++ 0x11 oh god So much to read but life is too short .
So
my opinion would be C++ language is gonna stay for foreseeable future
unless we work on computer which is not based on Von neumann
architecture.
So better invest your 10 years to expertise C++  and Computer programming.

It does pay off, you can demand Good Salary, no matter what hype is (VB, Java, C# and now Go). Its tested against Time .

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.