Not everyone's cup of tea, but on Linux gobject-introspection allows for automatic or semi-automatic generation of bindings for X languages.
.NET also -- and this is only my interpretation -- is following that path.
.NET also -- and this is only my interpretation -- is following that path.