语言互操作性的最佳实践是什么?

9
在需要使用多种语言的系统中,如何确保代码调用其他语言的代码时实现松耦合架构的最佳实践?

社区维基,我认为没有正确答案。不过是个好问题。 - Sasha Chedygov
没关系,这不是 CW 问题也可以。 - Earlz
这是一个名词,所以叫做“实践”。 - Jonathan Sterling
3个回答

2

用C语言编写API。许多现代语言都可以轻松地调用或整合C代码。例如C++、Vala、Python、D、C#、许多Lisp方言、VB和Java等,都允许使用共享库中的C代码。以此方式,只要您有一个合理的接口,就可以轻松地从大多数语言中调用您的代码。C语言是现代计算机的最低公共分母。


这与使用Java字节码互操作性来支持基于JVM的语言相同。 - Gabriel Ščerbák
也许你指的是CIL。http://en.wikipedia.org/wiki/Common_Intermediate_Language - Sky Sanders
@SkySanders 我知道这是一个较旧的评论,但不,OP指的是字面上的本地C代码,而另一位评论者指的是JVM字节码,它是特定于JVM语言(Java、Scala、Kotlin、Clojure、Groovy等)的,而CIL则由CLR上的.NET语言(如C#、F#、VB.NET等)以及其他一些语言实现。 - Adam

1
嗯,这是一个相当困难的问题,我的看法取决于语言之间的交互方式。您可以使用某种消息传递接口、消息队列甚至一些中间件,例如CORBA甚至可能是Web服务。例如,对于JVM语言,您可以使用虚拟机(脚本引擎)提供的互操作性功能。也许如果您提供更多细节,我们或其他人将得到一些可用的解决方案。

0
在我看来,在回答这个问题之前,你至少需要详细说明问题中提到的“系统”。例如,这个“系统”是一个手机、一台单机、像JVM或CLR这样的虚拟机、一个局域网上的一组服务器还是跨越互联网的一组服务器?在不同类型的“系统”中,有不同的最佳解决方案,所以你能否再详细说明一下呢?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接