not anymore self contained: e.g. go get, go build and go test now require preconditions (e.g. ldflags, library location, etc) - Build caching mechanics will impose a structure for C/library code. - Loading libraries is cumbersome. The location of the library can be a pain depending on the nature of the source code: - Go applications - Go libraries Slower build times - The cgo tool is invoked to generate the C to Go and Go to C thunks and stubs. - Your system C compiler has to be invoked for every C file in the package. - The individual compilation units are combined together into a single .o file. - The resulting .o file take a trip through the system linker for fix-ups against shared objects they reference. @jcchavezs