The lsp-mode code is a lot easier to follow, in my opinion. It's a lot clearer what's happening (although I can't say much about whether either are overabstracted which is admittedly a big concern. I haven't looked into that).
I remember watching an argument between the original authors on Reddit a while back. The lsp-mode author came across as... let's just say more professional. lsp-mode seems much closer to a professional product to me in general.
Thanks. It's true that the eglot code is hard to understand (and based on your links I suspecter hard_er_). I had been provisionally assuming that that was because the author is a much more advanced lisp programmer than me (which is true; I'm fairly sure he's one of those emacs developers that is also an experienced common lisp developer).
In any case, I would prefer that neither become part of GNU Emacs since then the development process and code review will become completely opaque (I'm not sure code review is really a thing once it's in Emacs. Just maintainers with push rights to some repo on savannah or something)
This is Eglot's code. Try and figure out what's happening in each of these passages:
https://github.com/joaotavora/eglot/blob/master/eglot.el#L41...
https://github.com/joaotavora/eglot/blob/master/eglot.el#L41...
https://github.com/joaotavora/eglot/blob/master/eglot.el#L17...
Contrast with lsp-mode:
https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-mode.e...
https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-mode.e...
https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-modeli...
The lsp-mode code is a lot easier to follow, in my opinion. It's a lot clearer what's happening (although I can't say much about whether either are overabstracted which is admittedly a big concern. I haven't looked into that).
I remember watching an argument between the original authors on Reddit a while back. The lsp-mode author came across as... let's just say more professional. lsp-mode seems much closer to a professional product to me in general.