Hacker News new | ask | show | jobs
by bwilliams 3573 days ago
I wouldn't say he's stepped up. It's all a reactionary response to Neovim. I dont think we'd ever have async in vim if it weren't for the neovim project.

That being said I hope they pull an io.js and merge taking the best of both vim and neovim, whatever that may be.

4 comments

"Stepped up to challenge" is a reactionary response.

Something challenges you, your reaction is to ignore/quit or step up and respond.

you know what? I'm prepared to cut Bram Moolenaar a lot of slack given the goodness he gave us for 20 years through 7 versions of one of my top 3 pieces of useful software.
he's a great guy but at some point it's time to move on
Downvotes for speaking the truth and adding to the discussion. Thanks guys.
but move on from what exactly? Vim 8? Looks good to me....

Maybe you want to move on just for the sake of moving on? To a new generation? Can you explain why? Seems to me that the person who knows the code base 200%, who wrote/vetted the entire codebase, is better placed to add features, than newbie refactorers who didn't?

Those newbie refactorers took a 300k line codebase, removed 130k lines of cruft, got it working on a modern toolchain, created an actual OSS dev community without a bus factor of 1, and added two major new features (async and embedded terminal) of which vim has only gotten around to adding 1, while improving performance and laying the groundwork for another major new feature (embeddable) that vim will take years to catch up to.

And all of that while maintaining such good backwards compatibility that almost all vim plugins work unmodified. Plugin authors only need to lift a finger to take advantage of new capabilities like async.

I didn't switch just for the sake of moving on. I switched because by any appreciable aspect, neovim and the developers behind it are simply better than vim.

Thank you for elaborating on my point. Very well said.
While this may sometimes be true, it would be dishonest to claim that only the original author of a project should be allowed to maintain it. It's also incorrect, since distributions all maintain forks of vim as well. Given how much time and effort the NeoVim community has put into improving the state of vim (that includes refactoring, as well as much more significant features you ignored like async which NeoVim had first since the maintainer of Vim didn't want async), it is quite disrespectful to call them "newbie refactorers". Everything I've seen of the vim development community makes me feel that it is quite toxic, so I'm very happy with the more open development model that NeoVim has.
neovim will most likely merge good features from vim 8, but I find unlikely that the opposite happens. To be fair, I'm actually okay with that. One of the reasons neovim is where it is right now is because they forked it and because they keep it forked. I'm not sure how fast it would improve if neovim merged back.
can't imagine that happening unless vim drops some platforms it supports.
Well, at this point in time Amiga and MS DOS should probably go.

They're served decently enough by older versions and I doubt that any machine running those has the resources for features provided by newer Vim versions. Even if they do, the OS support for these features might not be good enough.

He did drop some platforms, although nowhere near as many as NeoVim did:

Omitted in this version are:

The 16-bit DOS, OS/2 and Amiga versions, these are obsolete.

The 32-bit console version for MS-DOS/Windows 95/98

The 16 bit MS-Windows version

async VIM - We had it 4 years ago with VIM-Dispatch.

https://github.com/tpope/vim-dispatch

If you know how vim-dispatch works, you'll know that it just opens up a split in Tmux/Screen or makes a new tab/window in your terminal emulator to run the command "asynchronously." While it does work, it's definitely a hack and not a feature of Vim.
Correction: Tim Pope managed to hack in a mostly-functional version 4 years ago.
Correction I linked Tim Pope's github page.
That never worked on windows.
You right about that I forgot.