Perhaps this was mentioned the other day, but Neovim did make me think of this old chestnut from Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html I realize Neovim is being characterized as an "aggressive refactor," but I'm sure that's the way Netscape thought of it as well. tl;dr Things you should never do: rewrite the code from scratch.
When we started work on Commandos 2, we threw away everything from Commandos 1, and started from scratch. 15 years down the road, all the coders still agree that was the best decision ever.
Bram Moolenaar responds to Neovim
101–110 of 151 posts
Re: Bram Moolenaar responds to Neovim
#102Was Vim a complete rewrite of Vi?
Re: Bram Moolenaar responds to Neovim
#103Was Vim a complete rewrite of Vi?
Trying to rewrite vim is the wrong approach. Trying to replace it in a backward-compatible way, the way vim did to vi might received a lot better.
Re: Bram Moolenaar responds to Neovim
#104Earlier quoted context omitted.
I still have yet to see these concrete user benefits.
The benefit is indirect rather than direct, as in the user benefits from the increased availability of plugins/guis since they would be easier to create. Also vim lacks lots of very simple but essential features of modern code editors simply because it lacks the graphical capabilities to do so (an example would be displaying the documentation of some method you are autocompleting, something which I have never seen in…
For python at least, having 'preview' as part of your completeopt has it display the docstring of what you're completing. And :h completeopt suggests that's intended behaviour for all types of completion (where it makes sense), too.
Re: Bram Moolenaar responds to Neovim
#105Perhaps this was mentioned the other day, but Neovim did make me think of this old chestnut from Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html I realize Neovim is being characterized as an "aggressive refactor," but I'm sure that's the way Netscape thought of it as well. tl;dr Things you should never do: rewrite the code from scratch.
What makes you think this is a rewrite? If this is a rewrite from scratch, they are insanely fast coders, considering that they have a full-blown editor in less than a month (first commit is from January, 31) That first commit also shows it is not a rewrite, though, since it has a comment starting with "Import vim from changeset v5628:c9cad40b4181"
Re: Bram Moolenaar responds to Neovim
#106Earlier quoted context omitted.
At Floobits we tried to submit set_timeout/async stuff, and couldn't get anywhere with Bram. Months of work wasted. https://groups.google.com/forum/#!topic/vim_dev/-4pqDJfHCsM%...
Your patches were broken. People spent plenty of time trying to help you fix them. Your response is to tell the Internet that Vim is wrong for not accepting broken patches?
It came down to a fundamental design decision—and after months of hard work, they got a non-answer.
Re: Bram Moolenaar responds to Neovim
#107- Excerpt from http://en.wikipedia.org/wiki/Bram_Moolenaar
Re: Bram Moolenaar responds to Neovim
#108Perhaps this was mentioned the other day, but Neovim did make me think of this old chestnut from Joel Spolsky: http://www.joelonsoftware.com/articles/fog0000000069.html I realize Neovim is being characterized as an "aggressive refactor," but I'm sure that's the way Netscape thought of it as well. tl;dr Things you should never do: rewrite the code from scratch.
This isn't a "rewrite the code from scratch", but instead is an incremental but aggressive refactoring. There's at least one wildly successful example of this successfully being done for GCC, which is a project even bigger and more complex than Vim. Around GCC 2.8, it was forked into EGCS where major changes were made. This fork was so successful that it then became the official branch of GCC, and modern versions of…
Re: Bram Moolenaar responds to Neovim
#109Earlier quoted context omitted.
Your patches were broken. People spent plenty of time trying to help you fix them. Your response is to tell the Internet that Vim is wrong for not accepting broken patches?
Did you read the same thread I did? Floobits addressed all the issues. It came down to a fundamental design decision—and after months of hard work, they got a non-answer.
"There are enough vim users out there (myself among them) to warrant supporting a fork for as long as we're around. We'll try to keep it up to date with the latest changes."
I don't think anyone should expect Bram to chase them down for updates to the patch. Reading through the discussion, it seems clear to me that while good-natured, the feature was not ready to be merged into VIM.
Re: Bram Moolenaar responds to Neovim
#110Why aren't there other vim committers? Bram's conservatism makes perfect sense for someone who has to maintain this huge, consequential, intimidating codebase. Why hasn't he gotten some help?
Nevertheless, people still try. A lot of them fail, a few succeed.
The vim code base is around 300K lines of C code. I'm sure its nothing like Java where 90% of the code is get/set methods, high level delegating classes and exception handling code. 300K lines of code which does the actual work is simply too much code. And one should exercise great caution while dealing with it. Regression is just one thing, I'm sure there are a lot of places in the code which can silently break things you can't detect only to pop up in some strange case in the wild.