Trong series bài học “Nhập môn lập trình”, các bạn sẽ sử dụng ngôn ngữ lập trình C++ để học các ý tưởng đầu tiên về lập trình. Vậy chúng ta cũng nên hiểu một ít về ngôn ngữ này chứ nhỉ. Và quan trọng hơn hết là các bạn cần tránh nhầm lẫn giữa ngôn ngữ lập trình C và C++.
1. Ngôn ngữ lập trình C
Năm 1972, C được phát triển bởi Dennis Ritchie tại Bell Labs. Là ngôn ngữ lập trình hướng thủ tục. Các dòng lệnh được thực thi từ trên xuống dưới một cách tuần tự.
C chủ yếu dùng để viết các hệ điều hành, trình biên dịch, trình thông dịch, hệ thống nhúng, vi điều khiển,…
Sự phát triển của C qua các phiên bảnNăm Tiêu chuẩn C 1972 Ra đời 1978 K&R C 1989/1990 ANSI C and ISO C 1999 C99 2011 C11 2017 C17 TDB (to be determined) C2x
2. Ngôn ngữ lập trình C++ là gì?
Năm 1979, C++ được Bjarne Stroustrup phát triển tại Bell Labs dựa trên ngôn ngữ C. C++ (C plus plus) có nghĩa là mở rộng của C. Khác với C, C++ được cải tiến để trở thành ngôn ngữ lập trình hướng đối tượng.
Đặc điểm của C++
- Rất mạnh và linh động: có khả năng thể hiện bất cứ ý tưởng nào.
- Được sử dụng rộng rãi bởi các nhà lập trình chuyên nghiệp.
- Có tính khả chuyển: ít thay đổi trên các hệ thống máy tính khác nhau.
- Rõ ràng, cô đọng.
- Lập trình đơn thể: tái sử dụng thông qua hàm.
- Tính cấu trúc: các khối lệnh có cấu trúc.
- Hướng đối tượng.
Các phiên bản của C++Năm Tiêu chuẩn C++ Tên gọi 1998 ISO/IEC 14882:1998 C++98 2003 ISO/IEC 14882:2003 C++03 2011 ISO/IEC 14882:2011 C++11 2014 ISO/IEC 14882:2014 C++14 2017 ISO/IEC 14882:2017 C++17 2020 Đang lên kế hoạch C++20
3. Sự khác nhau giữa ngôn ngữ lập trình C và C++
Sự giống nhau giữa C và C++
– Cú pháp và cách viết code giống nhau.
– Cấu trúc code giống nhau.
– Trình biên dịch code giống nhau (đa số bộ biên dịch C++ đều hỗ trợ C và ngược lại).
Sự khác nhau giữa C và C++
C | C++ |
C ra đời trước C++, là nền tảng của C++ | C++ bao gồm luôn cả C |
Lập trình hướng thủ tục, không hỗ trợ lập trình hướng đối tượng. | Hỗ trợ lập trình hướng đối tượng và cả hướng thủ tục. |
Đuôi mở rộng file code là .c | Đuôi mở rộng file code là .cpp (có thể dùng .c) |
Không hỗ trợ xử lý ngoại lệ trực tiếp | Hỗ trợ xử lý ngoại lệ tốt (exception) |
Không hỗ trợ nạp chồng hàm và toán tử | Hỗ trợ nạp chồng hàm và toán tử (nhiều hàm có thể cùng tên và được sử dụng với các mục đích khác nhau) |
C bao gồm 32 từ khóa | C++ bao gồm 63 từ khóa |
4. Môi trường phát triển của C/C++ là gì?
Các môi trường phát triển tích hợp IDE (Integrated Development Environment) để lập trình C/C++ như:
- Borland C++
- Dev-C++
- Microsoft Visual Studio
Trong đó, Microsoft Visual Studio được sử dụng chủ yếu trong các chương trình giảng dạy “Nhập môn lập trình” hiện nay.