Me: "I don't like safety. So, this means that from my other languages I can dynamically link to C code right?"
C dev: "Of course! As long as you support the C ABI in your other language specifically, for example using the ctypes module in python, or ffi module in racket, or if you painstakingly write your own C wrappers for library calls that integrate the library you want to call with the language runtime for Java and nodejs"
Me: "wait that sounds awful. how is C the 'lingua franca' again?"
C dev: "maybe you should just write the rest of your code in C too /shrug"
@haskal @cwebber I mean yeah, any sort of dynamic linking is going to need some ABI, and supporting that is inevitably going to be some work for someone somewhere. but I think the point stands that dynamic linking still allows for some cross-language compatibility that static linking doesn't really allow at all.