1
Tại sao ngôn ngữ lập trình C/C++ lại nhanh hơn các ngôn ngữ khác?
0
Cộng đồng đã đăng:

Cho mình hỏi tại sao ngôn ngữ lập trình C/C++ lại nhanh hơn các ngôn ngữ cấp cao khác như Java, Python, .. vậy?

2

Ngôn ngữ lập trình C/C++ nhanh hơn các ngôn ngữ khác theo mình nghĩ là vì C/C++ chạy trực tiếp trên phần cứng trong khi các ngôn ngữ cấp cao khác như Java sử dụng JVM, Python sử dụng PVM (Python virtual machine) tương tự như Java nên về mặt tốc độ thì C/C++ sẽ nhanh hơn nhiều. Đó cũng là lý do vì sao trong các hệ thống lập trình nhúng với các thiết bị nhỏ, phần cứng hạn chế thì C/C++ là lựa chọn đầu tiên.

Vương 02.12.2017
thêm bình luận...
3
Đỗ Kiệt40 đã đăng:

Nếu bạn đã từng sử dụng qua Java hoặc Python thì bạn sẽ thấy có rất rất nhiều các hàm, thư viện hỗ trợ giúp người lập trình có thể tiếp cận bài toán ngay thay vì phải xây dựng từng mô-đun nhỏ nhỏ để giải quyết một bài toán nào đó.

Chính vì thế, việc xây dựng các hàm cấp cao, càng thân thiện với lập trình viên thì lại càng không thân thiện với máy tính, để hiểu được máy tính phải biên dịch qua nhiều lớp rồi mới tới mã máy, một điều chắc chắn rằng sẽ làm tăng thời gian thực thi của chương trình. Trong khi đó, C/C++ bao gồm các macro, hàm thao tác trực tiếp với phần cứng nên tốc độ thực thi sẽ nhanh hơn.

Các ngôn ngữ cấp cao có các cơ chế tự động hủy bộ nhớ, dọn rác, v.v nên khi bạn lập trình không cần để ý tới điều này nhiều. Còn C/C++ bạn phải làm điều này bằng tay hết.

Về quan điểm thì phụ thuộc vào bài toán bạn cần giải quyết thôi. Bạn muốn lập trình dễ dàng trên thiết bị phần cứng mạnh, không cần quan tâm nhiều về thời gian thực thi, hoặc xây dựng nhanh các ứng dụng nào đó thì ngôn ngữ cấp cao như Java, Python sẽ giúp bạn. Bạn lập trình nhúng, robot, lập trình backend hoặc tối ưu hóa một hệ thống nào đó C/C++ không thể thiếu được.

Đa số các hệ thống lớn hiện nay đều kết hợp một hoặc nhiều các ngôn ngữ lập trình lại với nhau để phát huy ưu điểm của nó trong từng chức năng cụ thể. Ví dụ như một số thư viện có backend viết bằng C++ nhưng API lại là Java chẳng hạn.

thêm bình luận...

Câu trả lời của bạn

Chào mừng bạn đến với cộng đồng chia sẻ tri thức BanhoiTuidap.com, bạn có thể chia sẻ bất kỳ sự hiểu biết, nghiên cứu hoặc kinh nghiệm của mình về câu hỏi này với một số lưu ý:
  • Lịch sự, tế nhị.
  • Hạn chế ghi tắt, câu trả lời của bạn chỉ nên tập trung vào câu hỏi ở trên.
Câu trả lời của bạn sẽ được đăng ở chế độ cộng đồng, cho nên bạn sẽ không thể chỉnh sửa sau khi đăng, có thể đăng ký thành viên trên BanhoiTuidap.com khi bạn muốn theo dõi câu hỏi này hoặc chủ đề liên quan.
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)