除了 Erlang 之外,其他语言是否能够向正在运行的实例发送代码?

发布于 2024-08-19 15:57:19 字数 64 浏览 8 评论 0原文

我刚刚了解到 Erlang 可以使用“nl”命令将代码和模块远程加载到集群的所有实例上。其他语言可以做到这一点吗?

I just learnt that Erlang can remote load code and modules onto all instances of a cluster by using the "nl" command. Can any other languages do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

国际总奸 2024-08-26 15:57:19

从技术上讲,任何 lisp 方言都可以做到这一点。由于 lisp 中的“代码就是数据”,将一些代码传递到不同的盒子上并进行“评估”就可以完成这项工作。 SLIME 在某种程度上通过使用套接字的远程复制来做到这一点。

Technically any of the lisp dialects could do it. Since 'code is data' in lisp, passing some code onto a different box and 'eval'-ing it would do the job. SLIME does this to some extent via remote repl using sockets.

眼波传意 2024-08-26 15:57:19

你可以在java中编写一个类似于erlang中的codeloader的ClassLoader。 Java 类加载器有很多隔离性,因此它可能会稍微复杂一些(但是如果您利用它来发挥自己的优势而不是将其视为敌人,则可以利用它做一些好事)。

类加载器很容易编写,但 java 并没有提供与 erlang 相同的类加载器。 Java 也没有 erlang 那样的集群工具,所以这并不特别令人惊讶。

You can write a ClassLoader in java similar to the codeloader in erlang. Java ClassLoaders have a lot of isolation, so it can be a bit more complicated (but you could do some nice things with this if you use it to your advantage rather than think of it as the enemy).

ClassLoaders are easy to write, but java doesn't ship with one that does the same kinds of things erlang does. Java also doesn't have the clustering tools erlang does, so it's not particularly surprising.

﹎☆浅夏丿初晴 2024-08-26 15:57:19

理论上纯函数式语言应该有这种可能性,但到目前为止我也只听说过 Erlang。

In theory pure functional languages should have such possibility but till this moment I've heard only about Erlang too.

萌酱 2024-08-26 15:57:19

我不知道,但应该可以用 Python、Perl 或 Lisp 等动态语言来实现它。

None that I know, but it should be possible to implement it in dynamic languages such as Python, Perl or Lisp.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文