0. Lịch sử ra đời.
C++ được phát triển bởi Bjarne Stroustrup năm 1979. (Bell Labs, Murray Hill,
New Jersey).
C++ là phiên bản nâng cao của ngôn ngữ lập trình C, tên hoàn
chỉnh C++ được đặt vào năm 1983.
1. Các đặc điểm:
Vì là phiên bản nâng cao nên nó kế thừa hết các đặc điểm của C, vậy nên bất kỳ chương trình viết bởi C nào cũng là một chương trình C++, và có thể được biên dịch bởi trình biên dịch của C++.
C và C++ là ngôn ngữ lập trình bậc trung ( migle-level ), vì nó kết hợp các đặc điểm, tính năng của ngôn ngữ bậc cao và bậc thấp.
C++ là ngôn ngữ lập trình kiểu tĩnh [1], dữ liệu trừu tượng [2], phân biệt kiểu chữ hoa chữ thường, hỗ trợ lập trình hướng đối tượng, và ngoài ra như đã nói, nó kế thừa hết những đặc điểm của ngôn ngữ C.
Ngôn ngữ lập trình C++ có đuôi mở rộng là .cpp.
Bên cạnh đó việc triển khai các file header .h là không thể thiếu. ( các file header cho phép chúng ta tách biệt phần khai báo và phần định nghĩa, giúp cho việc triển khai mã nguồn thêm linh hoạt ) - điều này mình sẽ nói chi tiết hơn ở bài viết về trình biên dịch.
2. Ứng dụng của C++
Ngày nay C++ vẫn được ưa chuộng bởi các ưu điểm của nó.
và được ứng dụng trên nhiều mảng:
- Games: C++ cho phép tối ưu hóa việc quản lý tài nguyên, giản bớt những thư viện hoặc mã không cần thiết mà các ngôn ngữ bậc cao hơn sinh ra. Tránh được nhiều những cấp phát thừa cho những biến không dùng đến bởi mã sinh tự động ở các ngôn ngữ bậc cao hơn.
C++ cho phép can thiệp sâu vào CPU và phần cứng, điều không thể thiếu trong việc phát triển các game Engines. - Ứng dụng sử lý nặng về giao diện người dùng: Adobe premier, Photoshop, Illustrator, Image Ready, ..
- Trình duyệt web ( web browsers ): ví dụ Molize Firefox. Hẳn bạn biết rằng các trình duyệt web rất coi trọng về tốc độ và độ tin cậy, vậy nên C++ là cái tên đáng được ưu tiên sử dụng.
- Ứng dụng tính toán và đồ họa: các ứng dụng mô phỏng 3D, xử lý hiệu năng cao, hoặc các module làm việc với thiết bị cảm biến trên di động. Các trình xử lý, mô phỏng 3D nhiều hiệu ứng và hoạt ảnh.
- Phần mềm quản trị cơ sở dữ liệu: điển hình một hệ quản trị CSDL khá phổ biến MySQL sử dụng C và C++. CSDL này là cốt lõi cho các phần mềm doanh nghiệp lớn như Google, Yahoo, Wikipedia, Youtube.
- Hệ điều hành: C++ được sử dụng trong những module quan trọng của Apple OSX và MS Windows.
- Phần mềm doanh nghiệp: các ứng dụng lớn của các doanh nghiệp, điều khiển máy móc..
- Trình biên dịch: Apple C++, Clang C++, Bloodshed Dev-C, và MINGW make đều dùng ngôn ngữ C++.
Không chỉ vậy C, C++ là những ngôn ngữ nền tảng trong việc xây dựng các ngôn ngữ lập trình cấp cao hơn, mới hơn hiện nay C#, Java, PHP, Verilog, ... - Và phổ biến hiện nay C++ được ứng dụng trong lập trình cho các hệ thống nhúng: điển hình là lập trình nhúng trên Ô tô, về mảng giao tiếp các thiết bị phần cứng, và về mảng HMI - thiết bị giao tiếp với người dùng.
Ghi chú:
[1]: Một ngôn ngữ được gọi là kiểu tĩnh nếu loại biến được biết tại thời điểm
biên dịch, lập trình viên phải chỉ định loại biến tại thời điểm biên dịch (
C++, C, Java ). ( Ưu điểm: rất nhiều lỗi nhỏ được bắt gặp ở giai đoạn sớm
).
Ngôn ngữ kiểu động: loại biến được quyết định trong thời gian chạy bởi
trình thông dịch ( Ưu điểm: lập trình viên thì nhàn, nhưng sẽ có thể có một số
lỗi phát sinh về suy luận kiểu trong thời gian chạy mà chưa lường trước được )
[2]: Hỗ trợ kiểu dữ liệu do người dùng tự định nghĩa Class, cốt lõi của lập trình hướng đối tượng.