|
|
|
|
|
by recursivecaveat
83 days ago
|
|
They are, in the sense that basically all of them expose some C FFI. Of course that lowest common denominator interface makes it very challenging to do anything more than call some free functions with opaque pointers and numbers. In general if you want some data to go from language A->B->C->D it has to be losslessly represented in all of them, which prevents you from utilizing any of the unique features (including the very basic and everyday ones) of these languages. The accelerator language concept works oookay because you're generally offloading pretty formulaic processing of large amounts of flat data to the lower level language. In most cases of similar performance I don't think the differences between languages justifies the pain of splitting your codebase. It is attractive at least in scenarios where it merges 2 languages like eliminating a front/back-end split though. |
|