https://cppdeveloper.com là blog cá nhân mình mình dùng để lưu giữ và chia sẻ cho các bạn đam mê lập trình nói chung và ngôn ngữ C/C++ nói riêng về những kiến thức C/C++ (từ cơ bản đến nâng cao), Embedded, Design Pattern, … nói chung tất tần tật những gì mình biết. Các kiến thức này được chọn lọc và tổng hợp từ các nguồn tài liệu chất lượng, kết hợp với kinh nghiệm làm việc thực tế của chính bản thân mình.
Chúc các anh em có những bài học bổ ích và áp dụng được vào cuộc sống cũng như công việc của mình !

Lịch sử hình thành và phát triển của C++
Tiền thân của ngôn ngữ C++ là ngôn ngữ C, được phát triển bởi Dennis Ritchie đầu những năm 1970 tại phòng thí nghiệm Bell Laboratories. Khi đó Dennis Ritchie đang tham gia vào một dự án phát triển một hệ điều hành mới. Ritchie phát hiện ra rằng, để hoàn thành nhiệm vụ ông cần sử dụng một ngôn ngữ lập trình ngắn gọn và súc tích . Từ nhu cầu này Ritchie đã phát triển một ngôn ngữ lập trình được gọi là C.
Vào đầu những năm 1980, cũng tại Bell Laboratories, một ngôn ngữ lập trình khác được tạo ra trên nền tảng là ngôn ngữ C. Ngôn ngữ mới này được phát triển bởi Bjarne Stroustrup và được gọi là C++. Theo Stroustrup, mục đích của C++ là làm cho việc viết một chương trình tốt trở nên dễ dàng hơn cho lập trình viên. Khi thiết kế C ++, Stroustrup đã thêm tính năng OOP (Object Oriented Programming) vào C mà không thay đổi nhiều các thành phần C. Như vậy C++ có thể gọi là một “bà con” của C, và bất kỳ chương trình C hợp lệ nào cũng là một chương trình C++ hợp lệ. C++ được ISO công nhận vào năm 1998, lần phê chuẩn tiếp theo vào năm 2003 (người ta gọi là C++ 03). Hai lần cập nhật gần đây nhất là C++ 11 và C++ 14 (được phê chuẩn vào năm 2011 và 2014). Phiên bản C++ 17 đã được công bố vào 12/2017
Một số điểm nổi bật của ngôn ngữ C++
- C++ là một ngôn ngữ lập trình bậc trung. Nó có nghĩa là bạn có thể sử dụng C++ để phát triển những ứng dụng bậc cao (high-level application), và cả những chương trình bậc thấp (low-level application) trong hệ thống nhúng
- C++ là một ngôn ngữ lập trình hướng đối tượng. Khác với ngôn ngữ lập trình C – một ngôn ngữ lập trình hướng thủ tục, C++ được thiết kế với một cách tiếp cận hoàn toàn mới được gọi là lập trình hướng đối tượng, nơi mà chúng ta sử dụng những đối tượng, các lớp và sử dụng các khái niệm như: thừa kế, đa hình, tính đóng gói, tính trừu tượng …
- C++ có thể chạy trên nhiều nền tảng khác nhau như Windows, Linux, Unix, Mac OS, iOS, Android…
- C++ được biên dịch thẳng ra mã máy (ngôn ngữ dùng để ra lệnh cho máy tính ) nên có tốc độ thực thi rất nhanh
- Có rất nhiều thư viện mã nguồn mở được viết bằng ngôn ngữ C/C++. Vì vậy nếu bạn viết 1 chương trình bằng ngôn ngữ C++ bạn có thể download những thư viện này và sử dụng nó.