5 ms·
There is an article from 2010 titled "Emacs is dead" that is being reposted on HN from time to time. The author args that the greatness of Emacs is to rely on e
by CodeArtisan 8y ago
There is an article from 2010 titled "Emacs is dead" that is being reposted on HN from time to time. The author args that the greatness of Emacs is to rely on external, editor agnostic tools where text act as an universal interface/medium but that the practice is fading out, and thus the dead of Emacs. Now, ten years later, Apple announces this. Emacs, the undead?
https://tkf.github.io/2013/06/04/Emacs-is-dead.html https://tkf.github.io/2013/06/04/Emacs-is-dead.html
- oblio 8y agoI think you might be right, but the greater context is highly ironic. The company resurrecting the Emacs concepts is Microsoft. They're the ones that created OmniSharp, bringing the idea of language servers to the programming mainstream. They then created the Language Server Protocol for what now is Emacs's biggest long term rival in the flexible editor arena: Visual Studio Code. Visual Studio Code is for the moment on a somewhat bloated and shaky foundation because of Electron. But otherwise its design is quite solid. And even that foundation will probably become a lot stronger in the next few years as WebAssembly gains wide adoption. Visual Studio Code itself is written in Typescript and it's not hard to imagine Microsoft adding a WASM backend to it.
- pjmlp 8y agoHere is how Lucid implemented their C++ knowledge repository for Energize C++. "Foundation for a C++ Programming Environment", chapter 7, Protocols https://pdfs.semanticscholar.org/84a4/8824fc7dd872414efa0ad6f238399f480561.pdf https://pdfs.semanticscholar.org/84a4/8824fc7dd872414efa0ad6... And how it looked like with their Emacs customization in 1993 on UNIX. https://www.youtube.com/watch?v=pQQTScuApWk https://www.youtube.com/watch?v=pQQTScuApWk
- oblio 8y agoLucid went bankrupt as far as I remember :)
- DonHopkins 8y agoJust financially, but never intellectually at least. ;)
- pjmlp 8y agoAnd that proves what? Sadly the best ideas aren't always the ones that get widespread adoption. Here we are now, about 30 years later still trying to get major C++ environments to offer some of those ideas.
- oblio 8y agoIt proves nothing, it's just about my original comment about Microsoft: > bringing the idea of language servers to the programming mainstream Lucid failed to do this, Microsoft succeeded.
- pjmlp 8y agoThe simplicity of you statement ignores what it meant to get a computer running Energize C++ properly in 1993 and an Electron (VSCode) app in 2017. Specially the money part.
- oblio 8y agoThe Microsoft Tablet PCs and the Apple Newton failed because the hardware wasn't there yet. C'est la vie...
- terminalcommand 8y agoI think Emacs's greatest strength comes from the ability to use a single scripting language throughout the whole editor. I can quickly write up some ELISP statement to do anything, if I like it I can put it in a file and load it. If I want to share it, I put it in an extension. I've just looked up the official tutorial on making an extension in VS Code. It seemed cumbersome. You need a code generator to lay the foundations, you need to consult the API docs etc. With Emacs you can learn as you go and the editor itself guides you if you ever get stuck. You can read the source of any part of Emacs you like, change it on the fly, evaluate and try it (except for some core modules written in C). And I think that's the beauty of Emacs. Emacs is easy to tinker with.
- coldtea 8y agoSeeing that this has nothing to do with tools where "text acts as an universal interface/medium", no. It still concerns "external, editor agnostic tools" -- but that wasn't dying out in 2010, and is not coming from the dead today.
- CodeArtisan 8y agoJSON-RPC is text based https://en.wikipedia.org/wiki/JSON-RPC https://en.wikipedia.org/wiki/JSON-RPC
- coldtea 8y agoIt's a parsable format. Not some arbitrary stream of text, like what UNIX streams deal with...
- CodeArtisan 8y agoWhat do you mean by "arbitrary stream of text"? I fail to understand, to be honest. A text always need to be parsed, even a simple number, but the point is to deal with characters instead of raw binary data.
- coldtea 8y ago>What do you mean by "arbitrary stream of text"? I fail to understand, to be honest That it's structured and specific. UNIX pipes, for example, can deal with any kind of text -- it's up to the user to ensure that the commands (e.g. "cut -d," etc) work ok with them, whereas the JSON RPC communications of the language server are not only in a specific syntax (JSON), but they also have predetermined content schema.
- geezerjay 8y ago"arbitrary streams of text" are also parsed. Line breaks matter, whitespace matters as well, and in some cases tabs and spacea matter.