Search code examples
model-view-controllerlanguage-agnosticmultiple-languages

Cooperation between multiple programming languages


I'm a fairly advanced hobby programmer. I consider myself capable at Objective-C, Java, some straight C, Python, and general MVC design.

I've written quite a few programs but they have all been relatively self-contained, using external libraries occasionally.

When reading about larger projects, and/or more complicated programs, I hear a lot of language thrown around about "Writing one part in X, and writing this part in Y."

Since I have a lack of experience with this, I was wondering if someone could point me in the right direction. What general designs/mechanisms are employed for applications or projects written in more than one language? What is involved in a "scriptable" design?

Thanks for any guidance on the topic! -Chase


Solution

  • There is no single "right way". A multitude of approaches exist, including the .NET-way, where all the languages are hosted inside a common runtime environment with well-specified interoperability constraints, and a good old Unix-way, where all the components are supposed to communicate via pipes or sockets, using simple text-based protocols.

    For the latter you can read a classic book: http://en.wikipedia.org/wiki/The_Unix_Programming_Environment