Getting low – implementing C
One of the most interesting developments in language design in the past decade or two is the desire to implement lower-level languages and language features via API. Java lets you do this purely externally, and Python provides a C library for interaction between the languages. It warrants mentioning that the reasons for doing this vary—among them applying Go's concurrency features as a wrapper for legacy C code—and you will likely have to deal with some of the memory management associated with introducing unmanaged code to garbage-collected applications.
Go takes a hybrid approach, allowing you to call a C interface through an import, which requires a frontend compiler such as GCC:
So why would we want to do ...