是否有任何项目/库集可以方便地在各种编程语言/平台之间进行通信?

2024-05-14 03:31:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚在scala完成了一个比较大的项目,很快就会开始另一个相关的项目。在

我还没有选择该语言,我希望我的决定更多地基于语言的特性或可用的库,而不是互操作性的考虑。在

这就是为什么要问这个。在

我的要求是(最重要的是):

  1. 各种编程语言/平台之间的互操作性(可能是JVM、Haskell、Python、C/C++)
  2. 易于原型化/重构
  3. 易于编程
  4. 我不太关心优化的性能(这可能不包括使用文件)

Tags: 文件项目语言haskell编程平台特性jvm
3条回答

我几乎所有的交流都是通过Redis完成的,在语言之间准确快速地移动数据非常简单。它是一个简单的key/store数据库,允许我用python和

import redis
r = redis.Redis()
r.set("a", 33)

然后,java中几乎相同的代码(减去大量的初始化,因为java很冗长)

^{pr2}$

+1到消息传递,特别是当收件人不可用时库将延迟传递。如果决定使用消息传递,则需要定义消息传递协议。一个好的选择是Representational State Transfer(ReST),尽管它的名字是,它是一个基于HTTP的无状态、基于消息的交互协议。它需要非常仔细的API定义,这本身就是一件非常好的事情。在

希望这有帮助。在

在用各种语言编写并分布在不同平台上的程序之间通信的最简单方法之一是使用message passing库。在

ZeroMQ是我最喜欢的一个,因为它简单、快速,并且可以为许多语言提供绑定:http://www.zeromq.org/bindings:_start

您还可以使用ActiveMQ、RabbitMQ或其他任何具有多种语言绑定的东西。在

相关问题 更多 >