C++ (đọc là “C cộng cộng” hay /siː pləs pləs/) là một loại ngôn ngữ lập trình. Đây là một dạng ngôn ngữ đa mẫu hình tự do có kiểu tĩnh và hỗ trợ lập trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng và lập trình đa hình. Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại phổ biến (nguồn wikipedia).

Rất nhiều phần mềm nổi tiếng được lập trình bằng C++, ví dụ như adobe, google chrome, google earth, google picasa, mozilla firefox, mysql server, hệ điều hành Microsoft, … Để biết lí do, bạn có thể đọc thêm trao đổi trên quora – Why are top applications written in C++?

1. Cài đặt và editor

Khi học về LaTeX, có thể bạn đã biết tới các latex compiler như pdflatex, xelatex, latex, lualatex,… và quá trình biên dịch file tex. Ngôn ngữ lập trình C++ cũng có quá trình viết code và biên dịch gần tương tự như vậy. Bạn nên tìm hiểu kĩ hơn Compiler. Sẽ khá thú vị và giúp bạn hiểu hơn về chiếc máy tính của mình cũng như ngôn ngữ lập trình, không chỉ riêng C++. Một số compiler C++ được cha đẻ của nó liệt kê (liệt kê chứ không đề xuất) tại Stroustrup compiler list. Một lưu ý là nên xem xét chọn compiler phù hợp với hệ điều hành (Window, Linux, MacOS, …), với nhu cầu cá nhân, và với độ phong phú của tài liệu hướng dẫn.

Một khái niệm nữa nên tìm hiểu là IDE (Integrated development environment). Nó tích hợp nhiều thứ như trình soạn thảo (editor), trình biên dịch (compiler), hay check lỗi (debugger), đồng thời cũng quản lí và phân phối các gói lệnh. Danh sách một số C++ IDE phổ biến có tại Compilers and IDEs hay What is the best C and C++ IDE. Bạn cũng có thể search từ khóa C++ good IDE for xxx, trong đó xxx là hệ điều hành đang sử dụng, để có thêm nhiều nhận xét của những người đã sử dụng.

Nhiều người mới làm quen thường lựa chọn IDE thay vì chọn một compiler cùng trình soạn thảo. Mỗi cách có một ưu điểm riêng, có thể xem thảo luận của một số người sử dụng tại “Starting C++ Should I use a terminal compiler or an IDE?”, “As a learner should I use an IDE?”, hay “Compilers, IDEs, Debuggers and the Jazz”.

Một số link cài đặt compiler:

Một số link cài đặt IDEs:

2. Tài liệu nhập môn ngắn

C++ Programming Language

  1. C++ Introduction
  2. C++ Basics
  3. C++ More Basics
  4. C++ OOP Basics
  5. C++ Pointers, References & Dynamic Allocation
  6. C++ OOP Examples
  7. C++ OOP Inheritance & Polymorphism
  8. C++ Operator Overloading
  9. C++ Template & Generic Programming
  10. C++ Strings
  11. C++ Libraries & STL
  12. C++ IO Streams & File IO
  13. C++ Misc, Tips & Traps
  14. Data Structure and Algorithm in C++
  15. Compiler and makefile
3. Các tài liệu online
  1. http://www.learncpp.com/
  2. http://www.cplusplus.com/doc/tutorial/
  3. https://www.cprogramming.com/tutorial/c++-tutorial.html
4. Các sách tham khảo

Các bạn có thể tham khảo danh sách các tài liệu tại https://www.quora.com/What-are-the-best-C++-books. Trong link đó 1 người có tên Arun Iyer viết rằng

In my experience, one single book doesn’t suffice to learn C++. Learning a programming language is very much like learning a natural language. When you learn a natural language – you learn the alphabets, the words, learn to construct simple lines, then complex lines and then be able to organize your thoughts and express them in the form of an essay. Similarly, learning a programming language requires you to learn the various keywords, data types, learn to construct simple programs, then complex programs and the be able to organize your ideas and and express them in the form of an application. All these different stages require some amount of help and different books help with different things.

5. Các khóa học online

Xem liệt kê một số khóa học online tại https://hackr.io/tutorials/learn-c-plus-plus hoặc tìm kiếm trên các trang web coursera.com, edX.org hay udemy.com.

6. Coding style

Lập trình đòi hỏi một kỷ luật làm việc nghiêm ngặt theo những coding style nhất định. Đó là tập hợp những nguyên tắc chung khi lập trình nhằm làm cho code dễ đọc và dễ hiểu, do đó dễ quản lý và bảo trì hơn. Để biết chi tiết hơn bạn có thể đọc thêm bài viết Why Coding Style Matters.

Mỗi công ty có thể có một quy định khác nhau. Chúng ta có tham khảo các quy định của google Google C++ Style Guide. Một số điểm cơ bản là

7. Online compiler
  1. https://www.onlinegdb.com/online_c++_compiler
  2. http://cpp.sh/
8. Các trang bài tập online
  1. https://www.hackerrank.com/dashboard
  2. http://vn.spoj.com/problems/tutorial/
  3. https://uhunt.onlinejudge.org/

Leave a Reply

Your email address will not be published. Required fields are marked *