Okay, but what if I want to call python libraries from C (or any other language)? What we need is some sort of .net-like global interop in the Unix world.
You can't really do that without including the entire Python runtime in your application, and cpython is (so I've heard) absolutely horrid at being embedded in things.
Why can’t we create a --server mode standard where every language can be started up in that mode and serves a standard API with standard linker types (where possible)?
Extending is ok, embedding is indeed quite horrid. Tcl got that right. Yu want to embed multiple interpreters in the same address space with no sharing -- no problem. The mantle has been passed to Lua I think, but Guile is pretty good and not as minimalistic as Lua (that's bit of an understatement though).
If I want to make an application composed of C, C#, and Visual Basic, there nothing stopping me in Windows. You try to pull that shit in Unix though, and you get a whole mess of problems. This is why Unix is clearly just so inferior. /s
Comments
Okay, but what if I want to call python libraries from C (or any other language)? What we need is some sort of .net-like global interop in the Unix world.
You might be interested in GraalVM, which can do this between certain languages implemented on top of it.
Linker types? I think I recall Amal Ahmed gave a talk on them. http://www.ccs.neu.edu/home/amal/papers/linking-types.pdf
.NET-like interop relies on having a specific runtime.
WinRT is a better model. Basically a higher-level ABI.
You can't really do that without including the entire Python runtime in your application, and cpython is (so I've heard) absolutely horrid at being embedded in things.
Why can’t we create a --server mode standard where every language can be started up in that mode and serves a standard API with standard linker types (where possible)?
Extending is ok, embedding is indeed quite horrid. Tcl got that right. Yu want to embed multiple interpreters in the same address space with no sharing -- no problem. The mantle has been passed to Lua I think, but Guile is pretty good and not as minimalistic as Lua (that's bit of an understatement though).
If I want to make an application composed of C, C#, and Visual Basic, there nothing stopping me in Windows. You try to pull that shit in Unix though, and you get a whole mess of problems. This is why Unix is clearly just so inferior. /s