最近在思考一个问题,就是两种或者多种编程语言之间有哪些通信方式,以及他们的适合领域是哪些呢?
我自己能想到的(但是并不一定对)有:
- ffi 方式。例如 racket 有自己的 ffi 模块,可以使用 c 语言。但是这种方式试用范围很有限,只能使用少数几种编程语言支持的编程语言。
- 共用数据库。在有些场合中,两种编程语言之间只需要交互数据,这样的话可以共用数据库。
- webserver 方式,例如 java 和 python 之间通信,可以使用 flask 起一个 web server ,然后 java 起一个简单的客户端。这种应该是用的比较多的吧?
- 甚至可以通过在一种编程语言使用管道运行另一种编程语言。
但是,最近还在网上看到了 rpc 通信方式,由于没有经验,对这方面不是很懂,希望这方面经验大大可以指教一下。