Ngôn_ngữ_thông_dịch

Ngôn ngữ thông dịch (tiếng Anh: interpreted language) là một loại ngôn ngữ lập trình mà hầu hết các hiện thực của nó thực thi lệnh trực tiếp và tự do mà không cần biên dịch trước chương trình sang lệnh ngôn ngữ máy.Trình thông dịch (interpreter) thực thi chương trình trực tiếp, dịch từng câu lệnh thành một chuỗi gồm một hoặc nhiều chương trình con, và sau đó sang ngôn ngữ khác (thường là mã máy).Các thuật ngữ ngôn ngữ thông dịch và ngôn ngữ biên dịch (compiled language) không được xác định rõ, vì về lý thuyết bất kì ngôn ngữ lập trình nào cũng có thể được thông dịch hay biên dịch. Trong hiện thực ngôn ngữ lập trình hiện đại, nó ngày càng phổ biến trên các nền tảng để cung cấp cả hai tùy chọn.Ngôn ngữ thông dịch cũng có thể tương phản với ngôn ngữ máy (machine language). Về mặt chức năng, cả thực thi và thông dịch đều có nghĩa giống nhau — tìm lệnh kế từ chương trình và thực thi nó. Tuy nhiên mã byte thông dịch có vẻ giống với mã máy ở dạng thể hiện của trình hợp dịch (assembler), thuật ngữ "thông dịch" thực tế được dành riêng cho ngôn ngữ "xử lý phần mềm" (bằng máy ảo hay emulator) nằm trên bộ xử lý gốc (ví dụ như phần cứng).