Tôi chỉ biết rằng Erlang có thể tải mã từ xa và mô-đun vào tất cả các trường hợp của một cụm bằng cách sử dụng lệnh "nl". Có thể làm bất kỳ ngôn ngữ nào khác không?Các ngôn ngữ khác ngoài Erlang có khả năng gửi mã cho các phiên bản đang chạy không?
Trả lời
Về mặt kỹ thuật, bất kỳ phương ngữ lisp nào cũng có thể thực hiện được. Vì 'mã là dữ liệu' trong lisp, chuyển một số mã vào một hộp khác và 'đánh giá nó sẽ thực hiện công việc. SLIME thực hiện điều này ở một mức độ nào đó thông qua thay thế từ xa bằng cách sử dụng ổ cắm.
Về lý thuyết ngôn ngữ chức năng thuần túy nên có khả năng như vậy nhưng cho đến thời điểm này tôi cũng chỉ nghe nói về Erlang.
Không có điều gì tôi biết, nhưng có thể thực hiện nó bằng các ngôn ngữ động như Python, Perl hoặc Lisp.
Bạn có thể viết Trình nạp lớp trong java tương tự như trình tải mã trong erlang. Java ClassLoaders có rất nhiều sự cô lập, vì vậy nó có thể phức tạp hơn một chút (nhưng bạn có thể làm một số điều tốt đẹp với điều này nếu bạn sử dụng nó để lợi thế của bạn hơn là nghĩ về nó như kẻ thù).
Trình nạp lớp dễ viết, nhưng java không giao hàng với cùng một loại công cụ thực hiện cùng loại. Java cũng không có các công cụ clustering erlang, vì vậy nó không đặc biệt đáng ngạc nhiên.
Lệnh 'nl' chỉ là công cụ CLI được xây dựng dựa trên sức mạnh cơ bản của trình tải mã - đó không phải là nơi ma thuật. :) – Dustin