Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why should I use Remacs? #305

Open
marcbowes opened this issue Sep 15, 2017 · 14 comments
Open

Why should I use Remacs? #305

marcbowes opened this issue Sep 15, 2017 · 14 comments

Comments

@marcbowes
Copy link

Hi,

This seems like a cool project and the README does a great job of communicating the rationale. The thing that's not clear (yet?) is the end-user benefit. Hopefully along the way there will be bugfixes, security fixes or performance improvements. Maybe even some distinct features (e.g. improvements around concurrency)? Having a section, e.g. in the README, about why users should make the switch would be helpful :).

@kidd
Copy link
Member

kidd commented Sep 15, 2017

For now, I guess the aim is feature parity with as most rust instead of C as we possibly can.

I wouldn't say there's a strong reason why you should use Remacs unless you are already helping the project and want to use it to discover bugs. Myself I'm using remacs exclusively and I haven't noticed any missbehaviour, so it's quite 'safe' to try it.

@marcbowes
Copy link
Author

Yup, I get that it's early days still. Surely though, at some point, there should be some tangible benefit to the emacers? I guess what I'm suggesting is just a "why should you use this?" section that is maybe "no real reason yet" and, over time, grows.

Part of the reason I opened the issue was to see if there was a section like that that I just couldn't find.. :)

@brotzeit brotzeit reopened this Sep 15, 2017
@brotzeit
Copy link
Member

brotzeit commented Sep 15, 2017

Ooops. I forgot that I can close issues now and didn't look where I was clicking :D

I agree with kidd, you won't have any immediate benefits from using remacs. But I think we will get problems when the current generation of emacs devs retire and there's a better chance that emacs will survive if we try to make it more appealing to young developers. Rust seems to be a good option.

@Wilfred
Copy link
Collaborator

Wilfred commented Oct 15, 2017

@marcbowes great question!

You've summarised the situation pretty well already I think. For contribution, I hope the advantages are pretty clear: friendly community, clear contribution workflow, straightforward Rust APIs.

For users, I hope Remacs will be faster (it's easier to optimise), more robust (we have stronger type checks and the ability to add unit tests), better documented (see #262) and somewhat more featureful (we have some ideas for solving the dumper problem that would allow users to dump their instance as an image) than GNU Emacs.

These benefits aren't available yet. If you use Remacs today, you get to use the latest Emacs features (we track GNU Emacs trunk) and the ability to contribute. I hope you'll be a user, but I understand if you don't feel Remacs is ready for your needs :)

@terlar
Copy link

terlar commented Oct 16, 2017

I had a "pleasant" experience with remacs that made me switch over. I had some issue in my configuration that was causing a recursive infinite loop, in emacs it just got stuck and I had no idea what was going on. When I ran in remacs it stopped the execution and notified me that there was a recursive loop. I am not sure if it had something to do with remacs tracking the GNU Emacs trunk (so it comes from a later emacs version) or something implemented in remacs. Anyways, since then I have been running remacs happily.

@marcbowes
Copy link
Author

Thanks for that, @terlar!

These benefits aren't available yet.

Yup, this is the core of the question. I totally buy into the vision. The question, really, is which of the end-user benefits are currently delivered. e.g. if you switch to Remacs today you will have X% performance improvement, Y fewer bugs and JSON parsing is 100x faster because it's now native code. Something like that.

@Compro-Prasad
Copy link
Contributor

@marcbowes I think the current aim is to port every DEFUN written in C to Rust. If anyone wants to go adventurous and has enough time then there will be improvements. So, it totally depends on the contributions.

@shaleh
Copy link
Collaborator

shaleh commented Oct 11, 2018

We are focusing on the DEFUNs now because we are currently doing all testing via elisp or manually.
Eventually we will start migrating the core C routines over. The big roadblock is the allocations are still happening in C. As long as the allocator and garbage collector are in C there will be a substantial chunk of C and a limit to Rust based testing.

Once we get passed that hurdle we can explore and experiment easier. Until then experiments are possible but somewhat limited.

@zhengpd
Copy link

zhengpd commented Mar 7, 2020

It would be good to have a section in README describing differences or benefits from the GNU emacs. I'm thinking trying out remacs, however looking through the README I didn't find any feature-or-performance-related attracting point. Remacs looks more like an experimental project with Rust.

@shaleh
Copy link
Collaborator

shaleh commented Mar 8, 2020

@zpdcodes

People have many interesting ideas for using crates for pluggable features, different UIs, etc etc. But write now, the code is still mostly C and the port is the important thing. Today, Remacs is for developers looking to explore the Emacs code base and the Rust language not for users looking to try out a different Emacs experience.

@zhengpd
Copy link

zhengpd commented Mar 9, 2020

@shaleh Thanks. I get the point now.

@0reoKing
Copy link

To make me want to use remacs and feel good about remacs is it 1% faster?

@0reoKing
Copy link

I agree with kidd, you won't have any immediate benefits from using remacs. But I think we will get problems when the current generation of emacs devs retire and there's a better chance that emacs will survive if we try to make it more appealing to young developers. Rust seems to be a good option.

Ok I have a reason now

@kidd
Copy link
Member

kidd commented Feb 10, 2021

There's also this one, that is currently making some good progress. It takes some remacs parts and adds to it: https://github.com/emacs-ng/emacs-ng

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants