Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

7
  • 1
    Microsoft's COM is one example of what such a fairly generic language independent interfacing standard can look like. That takes the approach of asking each caller or callee to implement the types and interfaces defined by COM but not the types and interfaces of all unknown potential counterparts. Some language toolsets have made it easy to interoperate using COM. People working in a Microsoft environment often don't think twice about it. There's a good chance COM is not what you are imagining. But there are many things to learn from it, why it's complex, etc. Commented Jun 7, 2023 at 0:41
  • 1
    CORBA is another example of something like that. Commented Jun 7, 2023 at 4:31
  • 1
    A little of own research would have brought you to this Wikipedia article(Language interoperability), where you find some technicle options and limitations, as well as more pointers, for example to JVM languages and CLI languages. Commented Jun 7, 2023 at 5:23
  • ... and I am not an expert on Julia, but a short look into the docs gives me the impression that for "calling C++ from Julia", one has utilize the Cxx.jl package, so this FFI does not seem to be included in Julia's standard lib. Commented Jun 7, 2023 at 6:00
  • 2
    Multiple such interfaces exists (C calling convention, COM, CORBA, SOAP), but none of them have gained universal traction. The problem is languages and runtimes are too different, e.g. how to pass objects between garbage collected languages and languages without memory management? Too many compromises for a one-size-fits-all standard. Commented Jun 7, 2023 at 7:58