Interpreter là gì?

Noun Programming
Trình thông dịch

Trình thông dịch (interpreter) là một chương trình đọc và thực thi code. Điều này bao gồm mã nguồn (source code), mã được biên dịch trước (pre-compiled code) và các script. Các trình thông dịch (interpreter)) phổ biến bao gồm trình thông dịch Perl, Python và Ruby, các trình thông dịch (interpreter) này thực thi mã Perl, Python và Ruby tương ứng.

Trình thông dịch (interpreter) và trình biên dịch (compiler) tương tự nhau, vì chúng đều xử lý mã nguồn. Tuy nhiên, một trình biên dịch không thực thi code giống như một trình thông dịch. Thay vào đó, một trình biên dịch chỉ cần chuyển đổi mã nguồn thành mã máy (machine code), mã máy này có thể được chạy trực tiếp bởi hệ điều hành như một chương trình thực thi (executable program). Trình thông dịch bỏ qua quá trình biên dịch (compilation) và thực thi code trực tiếp.

Vì trình thông dịch (interpreter) đọc và thực thi code trong một bước duy nhất nên chúng rất hữu ích để chạy các script và các chương trình nhỏ khác. Do đó, trình thông dịch (interpreter) thường được cài đặt trên các máy chủ Web (Web server), cho phép các nhà phát triển chạy các script thực thi trong các trang web của họ. Các script này có thể dễ dàng chỉnh sửa và lưu mà không cần phải biên dịch lại (recompile ) code.

Trong khi trình thông dịch (interpreter) cung cấp một số lợi thế để chạy các chương trình nhỏ, các ngôn ngữ thông dịch (interpreted language) cũng có một số hạn chế. Đáng chú ý nhất là code được thông dịch yêu cầu một trình thông dịch (interpreter) để chạy. Do đó, không có trình thông dịch (interpreter), mã nguồn đóng vai trò như một file văn bản thuần túy (plain text) hơn là một chương trình thực thi. Ngoài ra, các chương trình được viết cho trình thông dịch (interpreter) có thể không sử dụng được các chức năng hệ thống cài sẵn hoặc truy cập tài nguyên phần cứng như các chương trình đã biên dịch có thể. Do đó, hầu hết các ứng dụng phần mềm được biên dịch hơn là thông dịch.

Learning English Everyday