5 ms·
> The main advantage Emacs has over other, more modern IDEs is ELisp, and the vast ecosystem built around it. Ecosystem yes, and also it's architecture and cul
by PurpleRamen 3y ago
> The main advantage Emacs has over other, more modern IDEs is ELisp, and the vast ecosystem built around it.
Ecosystem yes, and also it's architecture and culture. ELisp I would say no. If we ignore the specific flavor, then 99% of what's realistically done with with elisp, is also covered by other dynamic languages like JavaScript. And the rest is so esoteric that it's probably not that worth the trouble.
> I don't see how supplementing ELisp with JS would make Emacs more attractive;
Not everyone likes lisp, not everyone is willing to learn a new strange language for unknown benefits. And JS has a vast ecosystem of its own. Far bigger even that Emacs heritage, but on different areas. A well working combination of both, with no side making significant sacrifices, could be very alluring for many more people than Emacs has now.
- mtlmtlmtlmtl 3y agoI think it's fine for Emacs to be Emacs. It's basically a museum piece from the Lisp Machine era at this point. There are so many choices already if you insist on javascript. Adding it to Emacs feels like the programmer's equivalent of putting a giant neon sign atop the Pyramid of Khufu; it just doesn't belong there. Emacs is unique and I'd like to preserve that.
- PurpleRamen 3y agoA Museum is fancy storage for unused things. But Emacs is full of very useful and still usable parts, and a useful philosophy and prospering culture. What's wrong with spreading all this to other spaces, and letting other people learn about them, making them more accessible? Works well for (neo)vim. They have moved beyond lousy vim-key-implementations and today people are able to learn about modal editing and composable commands on a good level.
- mtlmtlmtlmtl 3y agoPlease don't misunderstand my use of the word "museum". I'm not saying Emacs is useless or that we should never improve or use it. But Emacs is more or less the only surviving relic of a very different paradigm of doing computing and software, one which many of us still cherish. >What's wrong with spreading all this to other spaces, and letting other people learn about them, making them more accessible? Because the philosophy of Emacs and the computing tradition it grew out of is fundamentally at odds with those other spaces. Everything being in one dynamic language is a huge and intrinsic part of that tradition. I suppose you could write an Emacs entirely in javascript if you wanted to, if you followed the same software philosophy. But personally I think Javascript is such an inelegant language that a lot of the power of the idea would be lost even in that case.
- PurpleRamen 3y ago> But Emacs is more or less the only surviving relic of a very different paradigm of doing computing and software, one which many of us still cherish. I don't think that's true at all. Emacs is a lisp-machine, but that's just the means, an implementation-detail, not the culture and the aim. Every shell, web browsers, any REPL is pretty much the same as Emacs, just in a different flavor. The culture I'm talking about is to have a customizable tool & workspace. Something that adapts to you, a canvas where only your time and imagination is the limit. Limiting Emacs to being "just" lisp, is doing it a disservice.
- taeric 3y agoThinking that any REPL is the same as Emacs feels... wrong. Same for shells and other items there. I can almost see the argument for browser, but we left user customization as the default in browsers a long long time ago. To make my point a bit more concrete, the culture of lisp-machines was that the user was in full control. Curious what will happen if you type something? You can literally lookup what will happen on any keystroke or button press. Curious what code runs for a function? Odds are high that you can jump into the code for any feature and edit it on the fly. Yes, there are some native code sections that you can't do this for, but the vast majority is not that.
- mtlmtlmtlmtl 3y agoNo, you're not getting he gist here. Browsers are nothing like Emacs in design philosophy(except Nyxt, which gets close, but falls a bit short due to intrinsically having to deal with a bunch of JS; an excellent example of my point, come to think of it). Take Firefox for example. It has extensions, but they're intrinsically limited by the fact that they're sandboxed and can only interact with the browser through a limited API. And yes, you could certainly extend it arbitrarily by changing the C++/Rust/whatever code and recompiling it. But it's not designed to be extended that way by users. In emacs, the configuration is really just patches applied to the code at runtime. There fundamentally is nothing you can't do through the configuration. But why Lisp you say? Precisely because Lisp is a dynamic meta-programming language, which is the ideal paradigm for this. It can be molded to be a highly abstracted configuration language without losing the ability to run arbitrary code. You get all the upside of JSON, YAML, XML and other configuration languages with none of the downside of being limited in what you can do. Adding javascript to the mix just complicates this simple and elegant model. You gain nothing in extensibility, and will probably lose quite a lot unless you take extreme effort to avoid it through clever design.
- medo-bear 3y agoI like the neon sign comment. Emacs is beautiful because it is raw simple and powerful. In architecture this is called brutalism. A lisp serves it well because it is in some sense the most brutalist high level language. JS on the other hand is anything but. In comparison to lisp it is Y2K
- worthless-trash 3y agoWhat does "Y2K" mean in this context ? The 2000 AD ? I lived through it, it had its own share of shitty tech problems.
- medo-bear 3y agoI was stuck for words. But 2000AD to me was a period of bloated superficial high tech, which is my view of js
- worthless-trash 3y agoSounds accurate.
- medo-bear 3y ago> Not everyone likes lisp, not everyone is willing to learn a new strange language for unknown benefits. Im curious why someone would use emacs if they dislike lisp. To me its like writing SPAs without js
- PurpleRamen 3y agoHumans are not binary. "Not liking" does not mean dislike. And Emacs is more than just lisp.
- miroljub 3y ago> Im curious why someone would use emacs if they dislike lisp. To me its like writing SPAs without js Why use Windows (or MacOS, or Linux) if you don't like C?
- medo-bear 3y agoNone of those are meant to be customizable with C in the way Emacs is with elisp
- trealira 3y agoIt's more like "why use Linux if you dislike using the shell?" or maybe "why use XMonad if you dislike Haskell?" Which aren't unreasonable questions; there are a lot of people who use XMonad despite not caring about Haskell, just because they enjoy using it.
- brlewis 3y agoI'd prefer to write extensions to my IDE using TypeScript rather than elisp, but my attempt in 2018 or so to move from emacs to vscode failed, despite there being extensions that made keymappings largely compatible. Emacs has a much more focused UI than vscode. It's not obvious to me how to make all the extraneous things I'm not editing disappear. The emacs-compatible extensions as far as I've seen still haven't been able to make switching files in vscode as fast and convenient as switching in emacs. I spend more time maintaining software than writing new code in a single file, so this is a noticeable slowdown. VSCode doesn't feel as fast. I never fully investigated all the reasons. But I might make another attempt to move to it after it has a few more years to improve.
- EFreethought 3y agoNot everyone likes JS. I am not a Lisp genius, but once you get the concept it's not that hard. If you want to use JS, there are plenty of places to do it. Some of us just want to avoid that dumpster fire. And if JS is so wonderful, why not make a JS editor from the ground up?
- avbanks 3y agoI would much rather deal with Elisp than JS. IMO JS is a terrible choice for this.
- miroljub 3y ago> Not everyone likes lisp, not everyone is willing to learn a new strange language for unknown benefits. And JS has a vast ecosystem of its own. Far bigger even that Emacs heritage, but on different areas. As much as I dislike elpa package manager, the mere thought of having to use npm or similar in Emacs makes me nervous already.
- e12e 3y ago> If we ignore the specific flavor, then 99% of what's realistically done with with elisp, is also covered by other dynamic languages like JavaScript. Is that really true? https://github.com/search?q=repo%3Amagit%2Fmagit%20defmacro&type=code https://github.com/search?q=repo%3Amagit%2Fmagit%20defmacro&...
- PurpleRamen 3y agoYes, still true. Macros do not change the outcome, but the way to reach the outcome. That's flavor, not meat.
- rollcat 3y ago> Not everyone likes lisp [...] I think it's fair to say that if you don't like ELisp, Emacs might be the wrong choice for you. I'm not being elitist, I just think the two are glued together even closer than POSIX and C, and it would be extremely difficult to avoid it.
- kwhitefoot 3y agoI haven't written any elisp in fifteen years yet I use Emacs every day even though I am retired and no long programming all the time.