5 ms·
> No language servers. Why is that a good thing?
by jossclimb 3y ago
> No language servers.
Why is that a good thing?
- keyle 3y agoThere is a lot of brouhaha about this. Two school of thoughts... - LSP are a good idea but a terrible execution, YAGNI, etc. - LSP are god send, burn my cpus I don't care I'm being a little sarcastic but I think that's the gist of it. I'm neither pro or against LSPs. I use them when available.
- alpaca128 3y agoThe negative opinions I've seen weren't exactly calling it a good idea, it went more along the lines of "it's now a distributed system more complex". Though honestly I think it's the best we have right now and it's worth the cost. Partially because I don't like IDEs and LSP doesn't need to be integrated and tailored to one specific environment.
- cnity 3y agoWhat 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).
- akdor1154 3y agoPretty 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.
- cnity 3y agoI 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#Technical_overview https://en.wikipedia.org/wiki/Language_Server_Protocol#Techn...
- pjmlp 3y agoThey communicate by all possible OS IPC protocols.
- pjmlp 3y agoOn 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.