Hacker News new | ask | show | jobs
by cnity 1084 days ago
What I've heard (and what basically makes sense to me) is that falling back to the network layer as an abstraction is borne of web programmers trying their hand at building native applications (they do not know what dynamic linking is), with all that comes of it (both positive and negative).
2 comments

On the contrary, we came to realize the security and stability issues caused by loading foreign code in-process.

Modern hardware is powerful enough to go back to classical UNIX IPC for plugins, while achieving security and host stability in the process.

Plus, shared memory is still a possibility for performance, with the same caveats as loading in-process foreign code.

It is also how Plan 9 works, everyone loves Plan 9.

Pretty sure LSPs communicate by stdin/out don't they?

Agree generally.. But I gotta admit, MS's LSP protocol has been successfully implemented by many non-MS IDEs. I'm doubtful this would be the case had they defined a c api instead.

I looked it up and apparently this is left unspecified[0]. So I suppose I take that back!

Also yeah, I use LSPs and I myself don't have a strong grasp of the use of dynamically linked libraries. I don't mean it as a put-down of web programmers (I am one). There is value in this microservice type approach, though it does feel very "webby".

0: https://en.wikipedia.org/wiki/Language_Server_Protocol#Techn...

They communicate by all possible OS IPC protocols.