And yet Emacs is fast, hmmm.
And yet Emacs is fast, hmmm.
https://benmccormick.org/2016/01/11/the-most-interesting-ato...
It is probably mentioned in every editor thread, but org-mode is enough magic with an editor to mystify most developers. Syntax highlighting for multiple languages in a single file is already stretching most boundaries.
The second question was "Where is this git-time-machine equivalent?" which is easier to answer when one knows what a user is expected to accomplish by using it, specifically the graphical part.
I think the Atom developers are doing the right thing now by focusing on performance more than useless graphics. Right now I recommend vscode to other people even though I'll probably always use emacs myself.
I don't know on the actual charts, as I just don't use that sort of thing. Seeing anything git related and I think magit. Pretty much period. That is, I didn't see the chart.
You can do graphics in emacs, though. I typically just use it to show email and inline images for org-mode.
Calling it "web 1.0" seems amusingly critical. That said, taking it back to the question at hand, there doesn't seem to be a technical reason you can't do the images in the time machine thing. Most of my emails in gnus show graphically in a correct way. (Some of the more heavily formatted ones mess up, but usually not terribly so.)
For a better idea of what it can look like, enable LaTeX previewing inline in a buffer. Again, I'm usually in an org-mode buffer. And I confess I probably can't fight off a "web 1.0" argument. I have not gone for more modern UIs for some time. :( I grant it is a preference, but helm and similar UIs are much preferrable to me over what I typically see in the newer apps.
Emacs does an “unexec” operation to save its entire memory map to disk so its startup looks faster.
But many people still run Emacs in a daemon. This preserves your sessions between “running the editor” and prevents ever having to restart.
The changes Atom is looking at regarding user-side snapshots seems conceptually similar.
I'm writing this because I think many people are unaware of this feature of Emacs and might gloss over it in your post.
As far as I'm concerned startup time is next to irrelevant in Emacs, since you can start an Emacs server once when you boot up and then just run clients that open and connect instantaneously. That is, you can then run 'emacsclient' from the command line in any terminal you want, and it will open a working Emacs instance in a few milliseconds.
Here's blog post that describes this feature:
https://brainlessdeveloper.com/2017/12/27/making-emacs-work-...
The blog post above actually overstates how difficult it is to start working with Emacs in this way. It's dead easy.
alias emacs="/Applications/Emacs.app/Contents/MacOS/Emacs -nw"
alias e="et"
alias eb="/Applications/Emacs.app/Contents/MacOS/Emacs -nw -Q --eval \"(load-theme 'misterioso)\""
alias et="emacsclient -t -a ''"
Explanation of the `-a ''` option per `emacsclient --help`: -a EDITOR, --alternate-editor=EDITOR
Editor to fallback to if the server is not running
If EDITOR is the empty string, start Emacs in daemon
mode and try connecting againExcept now you get less functionality in 800M at least https://jinolabs.com/article/12232554/atom-editor-uses-more-...
Their problem is not technical, it’s ideological
I believe that's what the Atom team is doing. They've detailed several critical paths that can and will be rewritten in C++/Rust in the linked post.
Write slow javascript, get slow programs. It's not a crazy concept.
Edit: typo
All dynamic languages are not born equal when it comes to performance. 2 implementations of the same language aren't even equal. While V8 is a fast JS engine, the DOM isn't. Emacs doesn't rely on the DOM unlike Atom or VSCode.
Emacs' display loop is tens of thousands of lines of C that directly calls the native text-rendering API: https://www.facebook.com/notes/daniel-colascione/buttery-smo....