Tìm bài viết phù hợp

ƯU VÀ NHƯỢC ĐIỂM CỦA NGÔN NGỮ C++

07/10/21 04:24

C++ là một ngôn ngữ khá lâu đời (ra đời vào năm 1979) và đã từng là một ngôn ngữ khuôn mẫu cho những ngôn ngữ khác như Java và C#.

Với cú pháp đơn giản, dễ hiểu, C++ đã từng là rất phổ biến trong thập niên 90. Tuy nhiên cũng như bao ngôn ngữ khác, C++ cũng có những ưu và nhược điểm riêng. Hãy cùng HR1Tech tìm hiểu nhé!

Ưu điểm

  • C++ là một ngôn ngữ lập trình hướng đối tượng

Đây là một trong những lý do developer có thể dùng C++ để học lập trình hướng đối tượng mặc dù không được khuyến khích cho lắm. Nhưng hướng đối tượng là một tính chất mà một ngôn ngữ lập trình hiện đại nên có và thật may mắn C++ cung cấp đầy đủ những tính chất của hướng đối tượng như tính đóng gói, tính đa hình, tính trừu tượng và tính kế thừa.

  • C++ cho phép thoải mái quản lý vùng nhớ

Thật vậy, trong C++ chúng ta không có Garbage Collectors để dọn dẹp vùng nhớ như một số ngôn ngữ bậc cao khác. Một vùng nhớ có thể sử dụng lại nhiều lần, điều này giúp cải thiện hiệu suất chương trình C++. Vì thế những chương trình đòi hỏi chạy được trên một tài nguyên hạn chế thì đều ưu tiên viết bằng C++.

  • C++ là một ngôn ngữ low-level dễ dàng giao tiếp với phần cứng

Một chương trình phần mềm dùng để giao tiếp với phần cứng hay một Embedded System đều được ưu tiên dùng C++. 

C++ có một hiệu suất cao cùng khả năng tiêu tốn ít tài nguyên phần cứng khiến chương trình chạy nhanh hơn. Cũng vì hiệu suất cao nên C++ cũng được dùng để phát triển game. Nói chung, một chương trình đòi hỏi hiệu suất cao thì phần core lúc nào cũng sẽ được ưu tiên viết bằng C++.

Nhược điểm

  • Tràn vùng nhớ

Như đã đề cập ở trên C++ cho phép bạn tự quản lý vùng nhớ, giúp cho việc tái sử dụng vùng nhớ một cách hiệu quả nhưng nếu quản lý không tốt việc tràn vùng nhớ sẽ xảy ra. 

  • OOP trong C++ khá phức tạp và khó hiểu

Trong C++ chúng ta không có khái niệm Interface. Chúng ta có thêm khái niệm hàm thuần ảo, hàm bạn, lớp bạn, hàm hủy (destructor), đa kế thừa,… Do vậy, OOP trong C++ khá phức tạp và khó hiểu. Trong C++ chúng ta phải khai báo phạm vi truy cập của class, phương thức, biến trong file header(file .h) và implement chúng trong file .cpp. Nếu đã quen với OOP trong Java như thì khi chuyển qua C++ sẽ khá bỡ ngỡ vì có một số khái niệm mới.

  • Con trỏ là một cái gì đó rất… khó

Con trỏ là một biến mang địa chỉ của một vùng nhớ mà biến đó trỏ tới. Lập trình viên ban đầu tiếp cận với C++ thì khi học tới con trỏ rất dễ nản vì với những ngôn ngữ bậc cao khác chúng đã lược bỏ khái niệm này để làm ngôn ngữ thân thiện và dễ hiểu hơn. Nhưng con trỏ sinh ra để giúp cho việc thao tác trực tiếp với vùng nhớ, tăng tốc độ thực thi của chương trình nên đôi khi khó học thì cũng đi đôi với lợi ích đó.

 

Ngày nay, nhiều lập trình viên thường bắt đầu với một ngôn ngữ dễ học dễ hiểu, nhiều thư viện như Python, Java hay C# hơn là bắt đầu với C++. Bài viết trên đây chỉ là một phần để giúp các bạn định hướng và có một cái nhìn tổng quan nếu muốn dấn thân vào con đường trở thành C++ developer và hiểu rõ hơn về ngôn ngữ thú vị này. 

 

HR1 TECH- NỀN TẢNG TUYỂN DỤNG TRỰC TUYẾN TẠI VIỆT NAM

Tìm việc và tuyển dụng ngành IT HR1Tech.com

Tìm việc và tuyển dụng HR1Jobs.com

Phát triển sự nghiệp

Xem tất cả
7 chiến dịch Marketing sử dụng AR, VR siêu thú vị

Cùng HR1Tech điểm danh 7 chiến dịch Marketing sử dụng AR, VR siêu thú vị đã được các thương hiệu lớn trên thế giới triển khai mà có thể...

5 Bước Xây Dựng Thương Hiệu Cá Nhân Cho Dân IT Hiệu Quả

Cùng tìm hiểu 5 bước xây dựng thương hiệu cá nhân cho dân IT hiệu quả rõ rệt trong môi trường tìm việc đang cạnh tranh vô cùng gay gắt....

Khoa Học Máy Tính và Trí Tuệ Nhân Tạo Khác Nhau Như Thế Nào?

Khoa học máy tính và Trí tuệ nhân tạo là hai lĩnh vực gắn kết mật thiết trong thế giới công nghệ hiện đại. Tuy nhiên, liệu Trí tuệ nhân...

Công Nghệ AI: Những Điều Bạn Cần Biết

Có thể nói, việc hiểu và nắm vững về công nghệ AI không chỉ là một lợi thế mà còn là một yếu tố quyết định cho sự thành công trong thế...

Top 3 Kỹ Năng Mềm Mà IT Freelance Cần Có

Hiện nay, Freelance IT đang là một xu hướng dành cho những chuyên gia công nghệ yêu thích sự tự do và linh hoạt. Tuy nhiên, với hình thức...

Điểm Danh 4 Công Cụ Generative AI Mà Bạn Nên Biết

Trong kỉ nguyên của thời đại mới, sức mạnh của trí tuệ nhân tạo (AI) đã thúc đẩy sự tiến bộ trong nhiều lĩnh vực. Trong số đó, Generative...