logo

Ưu điểm và nhược điểm của ngôn ngữ máy

Câu hỏi: Ưu điểm và nhược điểm của ngôn ngữ máy

Trả lời: 

Ưu điểm và nhược điểm của ngôn ngữ máy

1. Ưu điểm của ngôn ngữ máy

Ngôn ngữ máy là ngôn ngữ dành cho máy tính giao tiếp với phần cứng. Vì vậy:

- Ngôn ngữ máy giúp trao đổi và thực hiện các yêu cầu đối với phần cứng nhanh hơn rất nhiều so với việc ngôn ngữ bậc cao phải biên dịch ra ngôn ngữ máy mới có thể giao tiếp với máy tính.

- Với ngôn ngữ máy, bạn sẽ không cần đến trình biên dịch code. Máy tính sẽ trực tiếp hiểu những gì bạn viết vào bằng ngôn ngữ máy.

- Khai thác được tối đa chức năng của phần cứng.

2. Nhược điểm của ngôn ngữ máy

- Bạn sẽ phải nhớ toàn bộ code hoạt động và vận hành.

- Tất cả các địa chỉ memory cũng phải được lưu lại.

- Ngôn ngữ máy rất khó để con người làm việc cùng và bạn cũng sẽ rất khó để debug một chương trình viết bằng ngôn ngữ máy.

Do đó, ngôn ngữ máy cũng có những ưu điểm và nhược điểm các bạn cùng Top lời giải tìm hiểu chi tiết hơn nhé!


1. Ngôn ngữ máy là gì?

Ngôn ngữ máy (còn được gọi là máy ngữ hay mã máy, tiếng Anh là machine language hay machine code) là một tập các chỉ thị được CPU của máy tính trực tiếp thực thi. Mỗi chỉ thị thực hiện một chức năng xác định, ví dụ như tải dữ liệu, nhảy hay tính toán số nguyên trên đơn vị dữ liệu của thanh ghi CPU hay bộ nhớ. Tất cả các chương trình thực thi trực tiếp bởi CPU đều là chuỗi các chỉ thị này.

Hiện nay, hầu như tất cả các chương trình máy tính trong thực tế đều được viết bằng các ngôn ngữ bậc cao hay (đôi khi) hợp ngữ và sau đó được dịch thành mã máy, thực thi bằng các công cụ phụ trợ như trình biên dịch, trình hợp dịch hay trình liên kết.

[CHUẨN NHẤT] Ưu điểm và nhược điểm của ngôn ngữ máy

2. Những câu hỏi thường gặp về ngôn ngữ máy

Nên học ngôn ngữ lập trình nào?

Câu trả lời sẽ phụ thuộc vào mong muốn, mục đích của bạn. Nếu thích lập trình cho các thiết bị di động, Java, Ruby, Kotlin sẽ là những ngôn ngữ rất phù hợp với bạn đấy!

Phát triển game nên học những ngôn ngữ lập trình nào?

Nếu bạn muốn phát triển game, bạn nên sử dụng những ngôn ngữ “gần” với ngôn ngữ máy nhất để có thể tối ưu hóa phần cứng sử dụng như: C/C++, Java,…

Lập trình game có dễ hay không?

Có, nếu bạn thực hiện những game indie đơn giản, khối lượng công việc của bạn sẽ không quá nhiều. Tuy nhiên, nếu bạn đang nghĩ rằng sau khi học lập trình bạn sẽ có thể phát triển những tựa game AAA hay những tựa game phổ biến như như: Grand Theft Auto V, Call of Duty, Liên minh huyền thoại hay Geshin Impact,… điều này sẽ không dễ đâu. Thời gian thực hiện những dự án game AAA sẽ được tính bằng rất nhiều tháng và rất nhiều nhân lực.

Sự khác biệt giữa trình biên dịch và trình phiên dịch là gì?

Đừng nhầm hai khái niệm này là một nhé! Vì:

- Trình biên dịch được viết bằng các ngôn ngữ lập trình cao cấp khác như C hoặc C++ để dịch sang mã máy.

- Một số ngôn ngữ khác như Java, C# sẽ sử dụng con đường khác là dịch mã nguồn cao cấp thành một dạng trung gian được gọi là máy ảo (Ví dụ như máy ảo Java – JVM). Sau đó mã máy ảo sẽ trở thành đầu vào cho một chương trình thông dịch máy ảo mô phỏng CPU phần cứng.

Tóm lại, ngôn ngữ có ứng dụng rất cao trong cuộc sống hiện nay, rất nhiều ngành nghề cần có sự tham gia của ngôn ngữ máy trong việc duy trình hoạt động.

 Đồng thời góp phần làm cho hoạt động công nghiệp hóa, hiện đại hóa diễn ra nhanh chóng.

icon-date
Xuất bản : 23/12/2021 - Cập nhật : 25/12/2021