Description language

One approach to the problem of have code work across platforms is to have interface description languages.

These IDLs define the data and operations supported and code can be generated and compiled from this on a platform specific basis.

This ensures that though the generated code may be platform-specific, the IDL remains common across platforms.