5 ms·
Am I the only one who thinks it's entirely obvious that JS is a bad idea for emacs? The beauty of emacs is that it's all in lisp. All of it, except a small C co
by mtlmtlmtlmtl 4y ago
Am I the only one who thinks it's entirely obvious that JS is a bad idea for emacs? The beauty of emacs is that it's all in lisp. All of it, except a small C core which is mostly just the elisp implementation. If you don't like lisp, why on earth would you use emacs? There's an absolute fuckton of editors out there that support Javascript.
I don't even care what RMS' argument was, I think he's pretty out of touch most of the time. But putting Javascript in Emacs is just a stupid idea that would completely ruin it eventually. Let Emacs be Emacs and Vscode be Vscode.
- Tistel 4y agoAgree. The beauty of lisp dev is that it’s a REPL that maintains state. You can edit the editor while editing. without restarting Write a defun and evaluate and it’s there. All the state persists. Most JS involves restarting the whole app on script change. I don’t use MS VS code because I can’t stand MS (if you know their history … you understand) Maybe they have the same feature now. Don’t know. The WYSIWYG editors are all web based. Maybe make a open source cloud hosted office suite? Google and MS should not have the only offering there.
- oblio 4y agoSorry, but this comment is so funny, it feels like I'm reading something from back in 2005, on Slashdot.
- EFreethought 4y agoThere are a lot of people who want to do everything in Javascript. Frankly I don't get why people want to do that. And Lisp is not that hard to learn anyway. Javascript tends to ruin everything eventually.
- shepherdjerred 4y ago> And Lisp is not that hard to learn anyway. Lisp is much, much harder to learn than JS is. Aside from that JS is a very transferrable skill, but Lisp is not.
- fiddlerwoaroof 4y agoYou can learn lisp in half an hour. The hard part of emacs isn’t “lisp” it’s learning the libraries, just like it is in any other ecosystem. This difficulty would by present if everything was JS.
- shepherdjerred 4y agoYou really think that the bottom 50% of programmers could learn lisp in 30 minutes?
- fiddlerwoaroof 4y agoLisp isn’t any harder to learn than JavaScript or Python.
- shepherdjerred 4y agoHere's my response to a similar comment in this thread > I speak from my experience in college (~3-4 years ago) where, every year, 60% of the class dropped out of an AI class taught in common lisp because they couldn't understand it: https://catalog.harding.edu/preview_course_nopop.php?catoid=49&coid=79532 https://catalog.harding.edu/preview_course_nopop.php?catoid=...
- sshine 4y agoIt depends on what you mean by "learn". JS is much easier to become bad at quickly, which is not a bad thing. Lisp is an ever-expanding paradigm, but you can learn it at a steady pace like JS. JS is directly transferrable to similar-syntax languages, yes. But Lisp provides insight into techniques that will expand your knowledge and understanding of all programming languages. Does JS have a music video like this? (The Land of Lisp) https://www.youtube.com/watch?v=HM1Zb3xmvMc https://www.youtube.com/watch?v=HM1Zb3xmvMc
- eimrine 4y ago> Does JS have a music video like this? https://www.youtube.com/watch?v=jxi0ETwDvws https://www.youtube.com/watch?v=jxi0ETwDvws ("Bug in the Javascript", not music video but video of musician performing vocal and harmonica parts of song)
- otabdeveloper4 4y agoIt's the only programming language they know, since they grew out of being a "webmaster" but haven't learned properly about stacks of abstraction in computing.
- sph 4y agoThe classic phenomenon of junior engineers that have become decent at programming but unexperienced enough that they want to rewrite everything, thinking they can surely do better. Now this is endemic in the JS world, especially because it is more ubiquitous than the previous beginner language, PHP.
- theshrike79 4y agoThey have one tool in their toolbox: Javascript. They don't want to have another, so they change the world around them so that Javascript can be used for anything.
- Derbasti 4y agoLet me be frank: ELisp is a terrible programming language. I have a number of Emacs packages (in ELisp) and Sublime Text packages (in Python), and the development effort difference between the two is not even funny. That said, Emacs relies rather heavily on unique features such as dynamic binding, advice, and autoloads. These are more or less impossible to replicate in modern languages, so I don't think there's a reasonable path to rewriting major parts of Emacs in, say, Javascript. But we should look at what Lua did for Neovim. There has been an explosion of development effort now that Neovim finally added a reasonable programming interface. A similar thing could happen in Emacs.
- marklgr 4y ago> But we should look at what Lua did for Neovim. There has been an explosion of development effort now that Neovim finally added a reasonable programming interface. It is very much debatable whether Lua is the "reasonable programming interface" causing the activity in Neovim. Vimscript has many flaws, one of them being that it doesn't look like other programming languages, but it does its specialized job pretty well. It is slow, but efforts are made in that area. Lua is well designed but it certainly has its shortcomings too, and many argue (me included) that programming in Lua is not that pleasant. The Lua bindings have been available in Vim for quite some time, but they never were popular, for some reasons. Anyway, it is not directly related to your point, but I think that example is not that compelling.
- giraffe_lady 4y agoLua is a really good lure. You add it to a project and a bunch of people go "oh neat, I've heard a lot of good things about lua, I'll do this idea I've had in lua." And then the realities of working in lua accrete over months, but then they're in too deep. What are they gonna do, learn elisp? Admit defeat and switch back to VS code?
- klibertp 4y ago> What are they gonna do Personally, I'm using Haxe with its Lua backend. While wrapping Lua APIs is a pain, and some dynamic patterns are hard to represent directly, Haxe provides a lot of the things that Lua lacks: a gradual static type system, more familiar JS-based syntax, syntactic sugar for lambdas, sane handling of `this` in methods, control over inlining, immutable variables, generics, null safety, powerful hygienic macros, somewhat usable standard library, extension functions (Kotlin/Scala3 like), partial function application, hash and array comprehensions, functional operators on collections, limited operator overloading via abstracts, built-in LSP server, and a lot more. I do this in the context of scripting my window manager, and plan to try this with Nginx/OpenRESTY. I feel like pairing LuaJIT runtime with Haxe compilation creates incredibly powerful combination. Lua provides coroutines, tail call elimination including corecursive functions, lightweight and fast JITed VM, a package manager (luarocks), bindings to important C libraries, FFI, reflection (everything is a table anyway), and more. The integration between Haxe and Lua is not yet seamless, and Lua compiler backend is one of the least developed, but even in this state I'm very happy with the combination of compile-time and run-time features I get.
- olau 4y agoNot everyone likes Emacs Lisp, but I think there are two main arguments - one is speed, and the other is familiarity. Now that Emacs Lisp actually has native compilation, the speed issue is less of a problem, but it's a plain fact that a lot more people can do things with Javascript than Lisp. I think usually if you have an application you'd prefer to reuse a programming language rather than having a language specific to the application. I think that was the main motivation for the failed port to Scheme.
- rich_sasha 4y agoI love emacs and don't live Elisp at all. I can use it, if pushed, but don't love it for sure. Do i prefer JS? Probably not. But to me the draw of emacs is nothing to do with Elisp. It is instead everything to do with customisation, one-editor-many-languages, and the ability to do absolutely everything from a keyboard-based, low-clutter GUI. Part of it is of course that good people made plugins in Elisp and maybe you'd argue that without it they wouldn't come to be, but I'm not sure.
- sph 4y ago> But to me the draw of emacs is nothing to do with Elisp. It is instead everything to do with customisation I keep hearing this argument but it is contradictory: the reason why Emacs is so customizable it is because it is written in a Lisp, a very versatile metaprogramming language. You simply cannot have the flexibility of Emacs in anything less malleable than a Lisp. You'd have a regular editor with plugins. I know many will want to prove me wrong, but where is the non-Lisp Emacs killer yet? VSCode is a great editor, but it's nowhere as flexible.
- rich_sasha 4y agoRight; so assuming that's true (I'm not really sure either way), for me it's an enabling technology, not a feature. If I could write plugins in Python, within the Emacs environment, I would (i believe it is sort of doable but quite wonky).
- celeritascelery 4y agoA problem with jumping over to the current popular language is that JavaScript will eventually fade in relevance, as all programming languages do. At that point Emacs would be saddled with two niche languages, and the advantage of using what is popular will be lost. Emacs is the “editor of a lifetime” and I expect it to be around for another 40 years. Best not make decisions based on what the current trends are.