I disagree. I've tried to use Electron editors (VS Code, Atom) and the thing that frustrated me the most is that it is missing the "essence" of Emacs. To me, these things are:
* Self-documenting
* Easy to dynamically inspect and change the editor internals and all packages, from the editor itself
* Emphasis on the editor as an interface into your system (the editor as a way to process and "glue" together text from subprocesses)
Atom in particular seems promising, but from the time that I spent with it, I quickly concluded that it was missing the spirit of Emacs entirely, because it was not straightforward or well-documented how I would go about exploring and changing the internals of the editor and its packages. E.g. a package was throwing an exception...it was quite a process to find the source, set a breakpoint on that error, and fix/work around the bug. That's trivial stuff in Emacs, and IMO is at the spiritual core of Emacs.
I would love to be wrong here, so please correct me if I'm mistaken!
WRT to self-documenting. VS Code and Atom aren't self-documenting like Emacs might have something to do with the language itself. There's just no equivalent of ELISP's powerful introspection mechanism that allows you to fish out the docstring in one simple function call. However, Python does, and it's not even a function call, it's just a property access. Have you tried Sublime?
I assume that is a difference in cultur not ability. But lack of introspection and prototyping is a surprise. After all at the end it's just a browser, which have good tools for such things. Maybe it's just not mature enough for this at the moment.
* Self-documenting
* Easy to dynamically inspect and change the editor internals and all packages, from the editor itself
* Emphasis on the editor as an interface into your system (the editor as a way to process and "glue" together text from subprocesses)
Atom in particular seems promising, but from the time that I spent with it, I quickly concluded that it was missing the spirit of Emacs entirely, because it was not straightforward or well-documented how I would go about exploring and changing the internals of the editor and its packages. E.g. a package was throwing an exception...it was quite a process to find the source, set a breakpoint on that error, and fix/work around the bug. That's trivial stuff in Emacs, and IMO is at the spiritual core of Emacs.
I would love to be wrong here, so please correct me if I'm mistaken!