Live data from Hacker News

Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

news.ycombinator.com

331–340 of 340 posts

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#331

Earlier quoted context omitted.

Hmm, I don't really have a "go-to" programming language. Depending on the problem, context, constraints, and team preference, I use whatever. For personal projects, my preference for the past few years invariably has been Lisp dialects. I prefer Clojure-like lightweight PLs - Fennel if I need to deal with a Lua-compatible runtime, Clojurescript for JS-engines. For bash scripting - Babashka. If I need to be close to m…

I just always meant to dabble more in a lisp style dialect and was curious what an emacs enthusiast enjoys. Clojure has been mentioned before and I’ve heard good things about Clojurescript. I never heard of Common Lisp for being close to the metal, more so that it was a bit memory heavy in those applications, but I’ll have to take another look. What’s NBB? Python is undeniably a workhorse for most applications and as…

nbb is is babashka for node - https://github.com/babashka/nbb

babashka was created to mitigate JVM slow startup. It's great for system scripting, automation, etc., basically a lightweight Clojure.

I think any programmer would benefit from learning a bit of Clojure. It's really nice for dealing with data, automation, etc.

I once had to scrape hundreds of videos from a website, and I was pleasantly surprised how quickly I was able to get it right, after setting up Puppetter and Cljs REPL, I interactively, from the REPL "clicked through" things controlling the browser, and created an async pipeline that opened hundreds of pages, looking up for video metadata and delegating the task of fetching videos to yt-dlp.

After learning Clojure and Clojurescript, I felt like all these - Python, JS, and Java are overrated and needlessly messy. I'm so glad I don't really have to directly deal with them daily. Even Lua, which before I had no problems whatsoever, and really enjoyed using, suddenly felt like "meh," and I'm glad there's now Fennel, which is not Clojure, but is very similar to it.

It's been years since I made anything mobile-native. I'll have to be choosing between React Native via Clojurescript and Clojure-Dart - which is very nice.

I am very excited about Jank-lang, can't wait for it to hit the first production-ready release, it will open some new possibilities.

So, I guess, I wasn't completely honest in answering what my "go-to" language is - I really don't care, it's just a matter of picking up a Clojure dialect for it, which itself being a Lisp dialect, is a choice among many other flavors of Lisp. Want to be a true "polyglot" coder? Just grab a Lisp.

I can understand why Lispers are often perceived as "crazy ones", it does sound crazy - "How is it possible for a single language to get absolutely everything right?". Well, no, it doesn't get "everything right", but at the very least the ideas it exposes you to can shield you from having to memorize the weirdness of tons of other languages.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#332

Earlier quoted context omitted.

I just always meant to dabble more in a lisp style dialect and was curious what an emacs enthusiast enjoys. Clojure has been mentioned before and I’ve heard good things about Clojurescript. I never heard of Common Lisp for being close to the metal, more so that it was a bit memory heavy in those applications, but I’ll have to take another look. What’s NBB? Python is undeniably a workhorse for most applications and as…

nbb is is babashka for node - https://github.com/babashka/nbb babashka was created to mitigate JVM slow startup. It's great for system scripting, automation, etc., basically a lightweight Clojure. I think any programmer would benefit from learning a bit of Clojure. It's really nice for dealing with data, automation, etc. I once had to scrape hundreds of videos from a website, and I was pleasantly surprised how quickl…

That’s fair, one of the big things I always enjoyed about languages was the communities that form around them, I actually think that’s more important than the language itself. I will say that the Clojure community has to be one of the better ones that exists.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#333

Earlier quoted context omitted.

nbb is is babashka for node - https://github.com/babashka/nbb babashka was created to mitigate JVM slow startup. It's great for system scripting, automation, etc., basically a lightweight Clojure. I think any programmer would benefit from learning a bit of Clojure. It's really nice for dealing with data, automation, etc. I once had to scrape hundreds of videos from a website, and I was pleasantly surprised how quickl…

That’s fair, one of the big things I always enjoyed about languages was the communities that form around them, I actually think that’s more important than the language itself. I will say that the Clojure community has to be one of the better ones that exists.

Yeah, the Clojure community is definitely full of great people who are always eager to help. Many times when I've asked seemingly straightforward questions in the Clojurians Slack, I've often received more than I asked for - deep, thought-provoking answers. People genuinely try to give you good direction and guidance.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#334
post #43

Earlier quoted context omitted.

While Emacs is recognisable for its shortcuts, it is hardly a defining feature. Example: Doom Emacs adds Vim shortcuts, and it is still distinctly Emacs. I think of VSCode as “Emacs, but JavaScript instead of Elisp.” That’s one thing I would not choose, in spite of the good things VSCode brings to the table.

VSCode is notepad with plugins, built upon a web engine. Comparing it to Emacs is a huge disservice to Emacs.

You re kidding right.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#335
post #198

Earlier quoted context omitted.

Just create another user account and test your new stuff there.

How does one just test for malicious code?

Oh, I think I see the strategy: just declare a problem trivial and then don't follow up in any way whatsoever. Genius!

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#336
post #47

I'd make cursors be positioned within the document instead of on the screen. Currently, Emacs does not support off-screen cursors. If you attempt to scroll a cursor off screen, it will move within the document to stay on screen. This behavior is contrary to all modern text editors, and there is no good workaround. I once made a serious effort to start using Emacs, but ultimately stopped because of the annoying cursor…

Curious, why would it matter that the cursor stays where you were when paging down?

When you scroll away you can jump back by hitting anything on your keyboard. Also you can stay where you are, by clicking anywhere. It is a useful feature, that enables you to scroll to your heart's content.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#337

is it me or is emacs just incredibly slow on machines which have endpoint security installed? O/c it's not emacs' fault directly, but all the compiling and loading in of small files really hurts the cold start scenario. So I wish the compilation would just be done once in somebody else's pipeline not in every client.

It's not just you, and it's especially painful on Windows, where working with lots of small files is already painfully slow under the best circumstances.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#338

If I leapfrog over my generally cold attitude towards Lisp-like languages and my habit of Vim keys, the main problem is Emacs's sluggishness, even if it is natively compiled. Neovim fully packed with plugins, LSPs, settings and etc without lazy loading (!) is so much faster.

And? GIMP is too, much faster to start than Photoshop, yet there are a number of things for which sometimes you just need the heavy cavalry. I was doing some API testing today, I pressed a key, then a snippet expansion system added something like this into my notes: #+begin_src http GET http://localhost:5003/api/health #+end_src I ran the snippet, it sent the request and it failed. I realized that I needed a token. I…

Don't get me wrong, I do get and appreciate the "complete package" and "customize everything" approaches followed by Emacs, but Emacs is often not the best tool for the job, if you work in a team. You've mentioned Jupyter notebooks and project management. Yes, Org and interactive modes are excellent, well-polished, full of goodies. The problem is that features like these require other people to either do the same as you do or to be able to integrate via an API/protocol. Having lots of people being fond of Emacs is a bit of a stretch, while integration features rely a lot on the community, which, as I've already said, isn't that wide, so plugins aren't always well maintained, unless you do it yourself, of course... And as a editor with LSP (a built-in) Neovim is simply put extremely responsive, I'd say it's closer to Unix philosophy of having a single thing doing its job really well.

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#339

Earlier quoted context omitted.

And? GIMP is too, much faster to start than Photoshop, yet there are a number of things for which sometimes you just need the heavy cavalry. I was doing some API testing today, I pressed a key, then a snippet expansion system added something like this into my notes: #+begin_src http GET http://localhost:5003/api/health #+end_src I ran the snippet, it sent the request and it failed. I realized that I needed a token. I…

Don't get me wrong, I do get and appreciate the "complete package" and "customize everything" approaches followed by Emacs, but Emacs is often not the best tool for the job, if you work in a team. You've mentioned Jupyter notebooks and project management. Yes, Org and interactive modes are excellent, well-polished, full of goodies. The problem is that features like these require other people to either do the same as…

You're missing the crux of the matter. It's not about comparing the quality of two distinct tools. It's erroneous to claim that a power drill is inherently superior to an oscillating spindle sander - these are tools from different categories, each excelling in its intended purpose. Certainly, tools can sometimes be repurposed for tasks they weren't designed for, and occasionally this leads to the creation of a more suitable tool, but that's the exception rather than the rule.

I use both Vim and Emacs daily, and while your observation about Emacs generally being slower than Vim isn't incorrect, it doesn't necessarily make Vim a better all-purpose tool for everything. Emacs isn't either, for certain things, Vim is indeed excellent.

I suggest you reconsider your perspective on Emacs users as mere dorks who misunderstand Vim or are too lazy to learn it. Instead, explore their motivations, question your own "cold attitude towards Lisp-like languages" - "know thy enemy", if you will. You might uncover some surprising insights. Trust me on this, from one die-hard Vimmer to another: it's never "Vim vs. Emacs for everything", it's rather "Vim or Emacs for the task at hand".

Re: Ask HN: If you were rewriting Emacs from scratch, what would you do differently?

#340

Earlier quoted context omitted.

Don't get me wrong, I do get and appreciate the "complete package" and "customize everything" approaches followed by Emacs, but Emacs is often not the best tool for the job, if you work in a team. You've mentioned Jupyter notebooks and project management. Yes, Org and interactive modes are excellent, well-polished, full of goodies. The problem is that features like these require other people to either do the same as…

You're missing the crux of the matter. It's not about comparing the quality of two distinct tools. It's erroneous to claim that a power drill is inherently superior to an oscillating spindle sander - these are tools from different categories, each excelling in its intended purpose. Certainly, tools can sometimes be repurposed for tasks they weren't designed for, and occasionally this leads to the creation of a more s…

I don't hate on Emacs in general, even more so I'm quite happy to learn about it's features and great plugins, but that'd mean a decent time investment. From my side, I'm generally a slow learner too, it took me a few years to be productive in Vim/Neovim, configuring it to my liking, polishing the motions. Maybe if I get some more free time with the new job, I'll finally go about making my Emacs config work well.
Post reply on HN