Phân biệt Compiler, Interpreter và Transpiler trong lập trình


#1

Hello cả nhà, chúng ta cùng thảo luận sự khác nhau của 3 anh chàng này nhé. Chúng đều rất gần gũi với Coder, Dev nhưng không nhiều người phân biệt một cách rõ ràng đâu nhé.

Xin dành tặng 1 chiếc áo thun của CiOne dành cho bạn nào trả lời chính xác và nhanh nhất.

Chúc các bạn cuối tuần vui vẻ


#2

Khi dùng compiler chạy code thì code sẽ được dịch thành 1 file mới rồi mới chạy file đó. Trong lần chạy tiếp theo không cần có code mà chỉ cần mở file đã tạo thì vẫn chạy được.

Interpreter dịch code và thực hiện mỗi lần chạy, khôg tạo thành file mới. Nên nó đòi hỏi phải có code mỗi lần chạy. Nó vừa dịch vừa chạy.

Transpiler chắc là bao gồm Compiler và Interpreter.


#3

Hi Trung, đây là một câu hỏi rất phức tạp và cảm ơn Trung đã tận tình trả lời. Mentor CiOne sẽ sớm post câu trả lời cho chủ đề này. Tuy vậy, mình xin gửi tặng Trung áo thun của CiOne để bày tỏ lòng cảm kích với sự tận tình của Trung nhé. Chân thành cảm ơn Trung. Mình sẽ inbox Trung qua facebook để xin địa chỉ.

Have a nice day!


#4

Mình xin bổ sung câu trả lời của bạn @TDTTrung về Transpilers, nếu có sai sót xin nhờ anh chủ bài viết @phohaidang giải đáp. Transpiler là một cái source-to-source compiler, hay cũng có thể gọi là source-to-source translator, gọi ngắn gọn là transcompiler hay ngắn gọn nhất là transpiler là một loại trình dịch lấy mã nguồn của chương trình được viết bằng một ngôn ngữ lập trình nào đó làm input để dịch thành một mã nguồn tương đương trong một ngôn ngữ lập trình khác. Một ví dụ về transpiler là Typescript Transpiler là Transpiler của ngôn ngữ Typescript transpile mã nguồn Typescript thành mã nguồn Javascript.