Making Emacs Popular Again (2020)
I&#x27;ve used full Emacs and Emacs style editors (mg, jove, epsilon) for over 40 years and programmed in LISP for longer than that. In the 1990&#x27;s it was evident that Emacs was in decline.<p>For a couple of years, I used Vi because IBM&#x27;s lawyers were afraid of the GPL; during that time I found Vi to be a superior text editor than Emacs. Sometime in the late 80&#x27;s, Emacs and the GPL were accepted by IBM&#x27;s planners, and I switched back to Emacs. Quite a few of the AIX kernel developers did end up using Emacs, even though Vi had its advantages as a text editor. It was the customizability of Emacs and the ecosystem of high quality packages that drew me back to Emacs. (For example, a developer on my team wrote the tower of Hanoi command. Try it out: <i>M-x hanoi</i>). Emacs became a general purpose tool for interfacing with your system. With Emacs, I didn&#x27;t need a graphical terminal to work with multiple windows, I didn&#x27;t need Norton Commander to have a powerful, portable interface to directory management. It has incredible outliner, mode for LaTeX, interface to git, etc., etc.<p>My point is that it wasn&#x27;t the text editing (Vi handled that better), it was everything else, and that everything else was enabled by Stallman&#x27;s brilliant insight that the editor should be built around a powerful interpreted language, LISP.<p>LISP was key to the success of Emacs. In the 1980&#x27;s, people were excited about LISP; by the 1990&#x27;s the excitement was wearing off. The LISP Machine companies weren&#x27;t commercial successes. While some LISP compiler&#x2F;interpreters performed well, Emacs Lisp was simply adequate. In CS programs, Scheme was being taught instead of the more fully featured LISP--Scheme has a simpler tighter core of fundamental features and consequently was a better choice for the ubiquitous undergrad Programming Language smorgasbord courses.<p>I needed an embedded interpreter to be a key part of a distributed network of servers I was designing. LISP was my choice, but my companies own, very experienced, developers rebelled. Smalltalk, Prolog, and even building our own C-based language interpreter were all viewed as more acceptable than LISP.<p>The way to make Emacs more popular isn&#x27;t to persuade people that they want a customizable editor that requires a great deal of LISP expertise. That just won&#x27;t happen. Pick a language from the one of the top 15 languages and allow Emacs customizations to be developed in one of these languages. Here&#x27;s one measure of the 15 most popular languages[1]: Python, Java, Javascript, C#, C&#x2F;C++, PHP, R, Objective-C, Swift, Typescript, Kotlin, Matlab, Go, VBA, Rust.<p>Out of the 15 languages listed above, many can be disqualified for obvious reasons: R and Matlab are not general purpose enough, Rust is far from interpreted and has a slow compiler, and so on. In my opinion, Emacs would be more popular if its core supported Python or Javascript or even Go (say running in a separately compiled  process that interacted with the Emacs server via IPC). I&#x27;m not a Javascript person, but Javascript is likely the best solution; I would gladly take the time to learn how to use it for Emacs configuration and customization. If Emacs was customizable in Javascript, there would be an army of developers working with it.<p>[1] <a href="https:&#x2F;&#x2F;pypl.github.io&#x2F;PYPL.html" rel="nofollow">https:&#x2F;&#x2F;pypl.github.io&#x2F;PYPL.html</a>