Есть ли у других языков, кроме Erlang, возможность отправлять код в работающие экземпляры?
Вопрос
Я только что узнал, что Erlang может удаленно загружать код и модули во все экземпляры кластера с помощью команды «nl».Могут ли другие языки сделать это?
Решение
Технически любой из диалектов Lisp может сделать это. Поскольку «код - это данные» в LISP, передавая какой-то код на другой коробку и «Eval'ning это будет делать работу. Слизь делает это в какой-то степени через удаленную замену, используя розетки.
Другие советы
Вы можете написать классный загрузчик в Java, похожее на CodeLoader в Erlang. У Java Classloaders имеют много изоляции, поэтому он может быть немного сложнее (но вы можете сделать несколько хороших вещей с этим, если вы используете его в своих интересах, а не думаете об этом как о враге).
Классические загрузчики легко написать, но Java не отправляется с тем, что делает такие же виды, которые делает ERLang. Java также не имеет кластеризации инструментов Erlang, так что это не особо удивительно.
Теоретически такая возможность должна быть у чистых функциональных языков, но до сих пор я слышал только об Эрланге.
Никто не знаешь, но должно быть возможно реализовать его на динамических языках, таких как Python, Perl или Lisp.