I thought we had settled this once and for all but apparently not. Over at the Emacs subreddit, sudhirkhanger asks about VS Code’s extension system as compared to Emacs’. He’s “blown away” at how great the VS Code plugin system is. He’s amazed at the integration and says it’s almost like using a native application.
Many of the comments make the point that VS Code is not really free software with all the problems that that implies but I don’t want discuss that aspect. What I’m interested in is the same thing that sudhirkhanger is: the relative merits of VS Code’s extension system versus what Emacs does instead.
Notice that I didn’t say “Emacs’ extension system”. That’s because Emacs doesn’t have an “extension language” as the term is usually understood. Rather, Emacs is a Lisp machine and that means that you can change or add to the core functionality on the fly. That’s different from being merely “open source”. You don’t have to edit and recompile. You just write some code, evaluate it, and suddenly the editor is doing something different. You’re not restricted to what some extension API allows. Your code has the same status as—and, indeed, is indistinguishable from—the code that ships with Emacs.
The takeaway is that if your insist on comparing VS Code and Emacs please don’t do so from the point of view of the extension system. Emacs doesn’t have one. You simply change or add to the base code without any “by your leave” from the developers. The way you “extend” VS Code and Emacs are not comparable. Your aren’t talking about the same thing anymore than you are when—to invoke a cliche—you compare apples and oranges.