Chúng ta đã tìm hiểu thế nào là ngôn ngữ lập trình trong bài học trước. Trong chủ đề này, chúng ta sẽ tiếp cận với một ngôn ngữ cụ thể mà các bạn sẽ được học trong khóa học này. Đó là ngôn ngữ lập trình C++.
Cùng lướt qua những gì các bạn sẽ được học trong chủ đề này:
- C++ là gì?
- Tóm tắt lịch sử hình thành của ngôn ngữ C++.
- Một số đặc trưng của ngôn ngữ C++.
- Lý do chọn ngôn ngữ C++.
Lịch sử hình thành C++
Trước C++, ngôn ngữ lập trình C được phát triển trong năm 1972 bởi Dennis Ritchie tại phòng thí nghiệm Bell Telephone, C chủ yếu là một ngôn ngữ lập trình hệ thống, một ngôn ngữ để viết ra hệ điều hành.
Vào năm 1999, ủy ban ANSI đã phát hành một phiên bản mới của ngôn ngữ lập trình C, gọi là C99.
C++ được tạo ra bởi Bjarne Stroustrup - một nhà khoa máy tính người Đan Mạch tại phòng thí nghiệm AT&T Bell vào năm 1979, đượ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ố, dự đoán sẽ hoàn thành trong năm 2017. C++ là một phiên bản mở rộng của ngôn ngữ lập trình C.
Một số đặc trưng của ngôn ngữ C++
- C++ là một ngôn ngữ lập trinh 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, và cả những chương trình bậc thấp hoạt động tốt trên phần cứ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, chương trình được tổ chức theo thuật ngữ "chức năng", một chức năng gồm có những hành động mà bạn muốn làm. 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...
Những khái niệm này khá phức tạp, nên nếu bạn chưa hiểu về chúng, đừng lo lắng, chúng ta sẽ lần lượt làm rõ từng khái niệm trong mỗi bài học khác nhau.
- C++ là một ngôn ngữ lập trình hướng cấu trúc giống ngôn ngữ C, Nó có nghĩa là chúng ta có thể tổ chức chương trình trên khái niệm function.
- C++ có thể chạy trên nhiều nền tảng khác nhau như Windows, Mac OS, một số biến thể của UNIX...
Lý do chọn ngôn ngữ lập trình C++
Như trong bài trước, mình đã nói về phương pháp để lựa chọn 1 ngôn ngữ lập trình phù hợp cho dự án và bản thân. Mỗi ngôn ngữ lập trình có thể thích hợp cho một số loại ứng dụng. Vậy trước khi bắt đầu học về ngôn ngữ C++, chúng ta cần biết C++ có thể làm được những gì.
Theo Adam Helps,
ngôn ngữ lập trình C++ có thể được dùng để làm những công việc sau:
- C++ được thiết kế để viết những hệ thống lớn, thậm chí C++ được dùng để tạo nên hệ điều hành máy tính (Linux, Mac OS X, Windows...).
- C++ được dùng để tạo nên các game lớn của hãng Blizzard (World of Warcraft, Diablo series, StarCraft series...). Gần như toàn bộ các game bom tấn trên thị trường hiện nay cũng dùng C++ để phát triển. Một số công cụ sử dụng trong việc lập trình game có sử dụng C++ như Unreal engine, Cocos2d-x framework,... Các ông lớn trong ngành công nghiệp game như Valve, CryTek cũng sử dụng C++.
- Các thể loại game chơi trên Playstation, XBox, ... được tạo ra từ C++. Có thể thấy C++ là ngôn ngữ có truyền thống lâu đời trong ngành công nghiệp phát triển game.
- Các sản phẩm phần mềm nổi tiếng khác được phát triển bằng C++ như MS Office, Photoshop, Maya / 3ds, Auto CAD...
- C++ có thể được sử dụng ở phía Web server vì C++ có thể đáp ứng được yêu cầu về tốc độ xử lý, khả năng phản hồi nhanh.
Tuy rằng bên cạnh C++ còn có những ngôn ngữ lập trình khác như C#, Java,... có thể làm được những ứng dụng lớn cho máy tính, nhưng đối với các ứng dụng có yêu cầu về mặt tốc độ xử lý, hoặc có tính thương mại cao, người ta vẫn ưu tiên chọn C++.
Về phía học sinh, sinh viên, những người đến với khóa học này với mục đích muốn tìm hiểu một ngôn ngữ lập trình cơ bản thì việc học tốt C++ có thể làm nền tảng vững chắc để tiếp cận những ngôn ngữ lập trình khác một cách dễ dàng hơn. Bởi vì C++ có thể được sử dụng theo hướng lập trình hướng cấu trúc như C, cũng có thể sử dụng các khái niệm trong lập trình hướng đối tượng giống những ngôn ngữ mới sau này, nên C++ có thể dùng làm cầu nối giữa nhiều ngôn ngữ khác nhau. Một ví dụ điển hình, khi sử dụng Java trên Android Studio để phát triển ứng dụng trên điện thoại di động, chúng ta có thể tích hợp các thư viện được viết sẵn bằng ngôn ngữ C++ nhằm mục đích tối ưu hóa.
Ở trên đây, mình vừa đưa ra một số công việc cần dùng đến ngôn ngữ lập trình C++. Nếu hướng đi trong lập trình của các bạn có liên quan đến các công việc trên, C++ có thể là một lựa chọn tốt cho bạn.
Hẹn gặp lại các bạn trong bài học tiếp theo!