Есть ли у других языков, кроме Erlang, возможность отправлять код в работающие экземпляры?

StackOverflow https://stackoverflow.com/questions/2185567

  •  25-09-2019
  •  | 
  •  

Вопрос

Я только что узнал, что Erlang может удаленно загружать код и модули во все экземпляры кластера с помощью команды «nl».Могут ли другие языки сделать это?

Это было полезно?

Решение

Технически любой из диалектов Lisp может сделать это. Поскольку «код - это данные» в LISP, передавая какой-то код на другой коробку и «Eval'ning это будет делать работу. Слизь делает это в какой-то степени через удаленную замену, используя розетки.

Другие советы

Вы можете написать классный загрузчик в Java, похожее на CodeLoader в Erlang. У Java Classloaders имеют много изоляции, поэтому он может быть немного сложнее (но вы можете сделать несколько хороших вещей с этим, если вы используете его в своих интересах, а не думаете об этом как о враге).

Классические загрузчики легко написать, но Java не отправляется с тем, что делает такие же виды, которые делает ERLang. Java также не имеет кластеризации инструментов Erlang, так что это не особо удивительно.

Теоретически такая возможность должна быть у чистых функциональных языков, но до сих пор я слышал только об Эрланге.

Никто не знаешь, но должно быть возможно реализовать его на динамических языках, таких как Python, Perl или Lisp.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top