4 ms·
Perhaps none of this will be new to you, but here are my thoughts: It's challenging because of the mismatches that can arise between programming languages. We
by MaxBarraclough 6y ago
Perhaps none of this will be new to you, but here are my thoughts:
It's challenging because of the mismatches that can arise between programming languages. We tend to use C as the lingua franca for communication between languages (i.e. foreign function interfacing, FFI), but it doesn't make the problem trivial. C++ has dynamic dispatch, whereas C doesn't. Java has garbage-collection, whereas C doesn't. Haskell has lazy evaluation. C# has async. Lots of things that can't be mapped across directly to C functions.
FFI is by no means a neglected domain. Where it's possible to make it easy, it generally is easy. C++ written in a C style, can very easily interface with C. Same for Ada. The trouble is when there's mismatch from the more advanced features of C++/Ada that don't map that naturally to C.
I don't think a 'language server' would really bring anything new to the table. Where that approach makes sense, we already have REST.