aliquote.org

Code & Co.

June 24, 2020

VS Code is the new cool editor of the 21st century that everybody knows, likes, and/or uses. I rarely come across negative review of it, even from Vim or Emacs heavy users. As far as I am concerned, I reinstalled it lately, just to edit some Python code because Emacs LSP is too slow to my taste — the startup phase, I mean, because it keep insisting on indexing and caching over and over again the same codebase.

I already wrote a short review in the past: VS Code and Python. One of the things that significantly changed since last year is far better support for R, thanks to the new language server. The UI has significantly improved too. Yet I’m still on Emacs for a long time apparently, if only because I process plain text editing in Markdown or Org, and Emacs has better support for this kind of writing tasks in my opinion. While I really liked Typora, I couldn’t last more than a few days using an application other than Emacs. Go figure. Probably a matter of taste, or “culture and habit” as one used to say in the following thread:

Here are a few things that I like in Emacs and that I always missed in any other editors:

Of course, VS code looks pretty, comes full of nice feature and integrates all the modern tools for test-driven development and continuous integration. Updating the whole packages and the application itself is less risky than upgrading Doom Emacs or Spacemecs sometimes, because money of course (I mean, there’s probably an army of paid developers behind VS Code, while only benevolent folks take care of package development and maintenance on the Emacs side). However, the advance of lsp-mode and related projects will likely make Emacs even more comfortable in the near future. Note that I do not even talk of functional hackers who might miss a lot of Emacs features for Lisp (Slime or Sly), Scheme (Geiser) or Clojure (CIDER) development after switching to web-centric UIs. Remember this?

Modern text editors have higher latency than 42-year-old Emacs. Text editors! What can be simpler? — Software disenchantment

Finally, I would say that Emacs affords some kind of digital minimalism, precisely because of what some folks think of a rough UI. However, once you get a pretty informative modeline, a project drawer, a task runner, a nice Git interface, you’re close to being as productive as VC coders, IMO. Here’s one example of a recent Emacs session during which I was writing some R code. This is powered by Doom emacs and the R langage server (running on top of ESS), btw. Although VS Code offers split view (horizontal and vertical), I like the fact that Emacs allows to have a shell together with a running process while editing some code, and that you can send any R command or region to the R console (and not the shell) by simply using C-RET.

See Also

» Emacs for the 21st Century » On text linting » Discord on Emacs » R 4.0 » Handy command-line utilities