Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there any project/set of libraries that make it easy to comunicate between various programming languages/platforms? [closed]

I'm just finishing a relatively big project in scala and will start another related one soon.

I haven't chosen the language yet and would like my decision to be based more on features of the language or available libraries than interoperability concerns.

And this is the reason to ask this.

My requirements are (top is more important):

  1. interoperability between various programming languages/platforms (probable ones are JVM, Haskell, Python, C/C++)
  2. easy to prototype/refactor
  3. easy to program
  4. performant without much concern for optimization on my part (this may exclude using files)
like image 710
Alexandre Martins Avatar asked Dec 21 '22 23:12

Alexandre Martins


2 Answers

One of the easiest ways to communicate between programs written in various languages and distributed across various platforms is to use a message passing library.

ZeroMQ is one of my favourite due to its simplicity, speed, and the availability of bindings for a significant number of languages: http://www.zeromq.org/bindings:_start

You could also use ActiveMQ, RabbitMQ, or whatever else you come across that has bindings in several languages.

like image 121
Brendan Wood Avatar answered Dec 23 '22 13:12

Brendan Wood


I do almost all of my communication via Redis, its amazingly simple to move data between languages accurately and quickly. Its a simple key/store database that allows me to do this in python and

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

And then, almost the same code in java (minus the massive initialization because java is verbose)

r.get("a"); // in java
like image 30
Jakob Bowyer Avatar answered Dec 23 '22 13:12

Jakob Bowyer