Conversation

Jarkko Sakkinen

One thing where I would use #rustlang rewrite: vim/neovim clone. Helix/Amp etc. have the problem that they try to do something new.

Actually the best would be if @neovim would join the club of Firefox, Linux etc. and provide shenanigans for rewriting parts of it in Rust. I promise to contribute in this effort, if that ever happens (no time for working on the shenanigans unfortunately).

2
1
3

@jarkko @neovim This is always the issue. It's sexier to start new things than it is to make incremental progress on existing projects, but the latter has a much higher chance of wide adoption. Neovim is amazing—no one wants to give it up—but allowing the Rust toolchain to coexist with C would definitely increase the pool of future contributors to the codebase. But the Rust community is developing a rep for being pushy, so obviously some diplomacy is needed.

1
0
1
@dpom @neovim Yeah, it is like Haskell community but with volume :-) Try to pointing out a real issue in Rust and you feel like that you are speaking with someone from the Church of Scientology. I still like and use the language but I fully receive and understand your comment.
1
0
1
@dpom @neovim Also I hate when people claim a language being "memory safe". No human creation is. It is for sure a language with strong memory safety properties. I like brutal honesty more than being sexy.
1
0
0
@dpom @neovim And people doing their "new" and "better" thing tend to get bored fast too: https://github.com/ogham/exa/issues/1243. I mean vim and neovim have decades of time span. E.g. the first Amiga version of Vim was implemented in 1988 being older project than even Linux kernel. Many of the maintainers of the new better things were not even born yet.
1
0
1
@dpom @neovim A quote from Helix home page: "By starting from scratch we were able to learn from our experience with Vim and make some breaking changes."

This is totally incorrect. It is a different beast. Is Eclipse vim "with some breaking changes"?

Sorry, now I think I've flushed all this out of my system :-) Apologies...
0
0
2

@jarkko https://github.com/neovim/neovim/issues/8669 previous discussion.

Tl;dr we are considering multiple possible future implementation languages. Rust safety guarantees doesn't always work that well when you need integration with the internals of existing C code and its data. Zig with its deep C support might also be an option.

On the other hand, we're very happy to make good use of modern libraries and tools written in rust, like tree-sitter :)

0
0
0