Đầu tiên, làm rõ, Java không được biên dịch tĩnh hoàn toàn và được liên kết theo cách C ++. Nó được biên dịch thành mã byte, sau đó được JVM giải thích. JVM có thể thực hiện và biên dịch đúng lúc sang ngôn ngữ máy gốc, nhưng không phải làm điều đó.
Thêm vào điểm: Tôi nghĩ rằng tương tác là sự khác biệt thực tế chính. Vì mọi thứ đều được diễn giải, bạn có thể lấy một đoạn trích mã nhỏ, phân tích cú pháp và chạy nó theo trạng thái hiện tại của môi trường. Do đó, nếu bạn đã thực thi mã đã khởi tạo một biến, bạn sẽ có quyền truy cập vào biến đó, v.v. Nó thực sự cho vay theo cách của nó cho những thứ như kiểu chức năng.
Phiên dịch, tuy nhiên, chi phí rất nhiều, đặc biệt là khi bạn có một hệ thống lớn với nhiều tài liệu tham khảo và bối cảnh. Theo định nghĩa, thật lãng phí vì mã giống hệt nhau có thể phải được giải thích và tối ưu hóa hai lần (mặc dù hầu hết các thời gian chạy đều có một số bộ nhớ đệm và tối ưu hóa cho điều đó). Tuy nhiên, bạn phải trả chi phí thời gian chạy và thường cần một môi trường thời gian chạy. Bạn cũng ít có khả năng nhìn thấy tối ưu hóa liên vùng phức tạp vì hiện tại hiệu suất của chúng không đủ tương tác.
Do đó, đối với các hệ thống lớn sẽ không thay đổi nhiều và đối với một số ngôn ngữ nhất định, việc biên dịch trước và sắp xếp lại mọi thứ sẽ hợp lý hơn, thực hiện tất cả các tối ưu hóa mà bạn có thể làm. Điều này kết thúc với một thời gian chạy rất nạc đã được tối ưu hóa cho máy đích.
Đối với việc tạo các tệp thực thi, điều đó ít liên quan đến nó, IMHO. Bạn thường có thể tạo một tệp thực thi từ một ngôn ngữ được biên dịch. Nhưng bạn cũng có thể tạo một tệp thực thi từ một ngôn ngữ được thông dịch, ngoại trừ việc trình thông dịch và thời gian chạy đã được đóng gói trong phần ngoại lệ và ẩn khỏi bạn. Điều này có nghĩa là bạn thường vẫn phải trả chi phí thời gian chạy (mặc dù tôi chắc chắn rằng đối với một số ngôn ngữ, có nhiều cách để dịch mọi thứ sang một cây có thể thực thi được).
Tôi không đồng ý rằng tất cả các ngôn ngữ có thể được thực hiện tương tác. Một số ngôn ngữ nhất định, như C, gắn liền với máy và toàn bộ cấu trúc liên kết đến mức tôi không chắc bạn có thể xây dựng một phiên bản tương tác đầy đủ ý nghĩa