News for hackers. Stuff that matters.
Re:Neovim Newsletter – Issue #1 – A New Hope by atrilumen on Saturday June 07, 2014 @11:21AM (#7862279)
Would it not have been better to start from scratch?
Re:Neovim Newsletter – Issue #1 – A New Hope by jaredmcateer on Saturday June 07, 2014 @11:58AM (#7862343)
I agree with Joel Spolsky on this subject [1]. From what I've seen when people write something monolithic from scratch they just end up making similar mistakes and introduce new problems that weren't there to begin with. Vim's codebase isn't terrible, it's been going strong for 23 years, but it's accrued a lot of technical debt that makes doing somethings difficult. It's also controlled by a single person, and don't get me wrong this isn't necessarily a bad thing, but it makes getting in the necessary changes to achieve the goals of neovim nearly impossible.

http://www.joelonsoftware.com/articles/fog0000000069.html

Re:Neovim Newsletter – Issue #1 – A New Hope by pling on Saturday June 07, 2014 @11:33AM (#7862307)
Probably yes. I wondered this myself when I heard about this reengineering project which I agree needs to be done after delving into the vim source before.

However the time to market before it was even slightly usable would be rather large I imagine. I wrote a very basic clone of "ed" in Z80 assembly back in the 90s and it took me nearly 6 months before I trusted it with a file that wasn't disposable.

Perhaps there should be two projects starting at each end of the problem and see which one wins.

Re:Neovim Newsletter – Issue #1 – A New Hope by pestaa on Saturday June 07, 2014 @11:42AM (#7862321)
I really don't want to see more unnecessary fragmentation in the open source world.

I know, free time is contributed to wherever the programmer pleases, but it's sad to see tons of project not to walk the last mile.

Re:Neovim Newsletter – Issue #1 – A New Hope by semisight on Saturday June 07, 2014 @12:10PM (#7862360)
Why? Vim is a well tested codebase. It has many features. Starting over would produce better code, but in what timeframe? I think the neovim contributors made the right decision to refactor.
Re:Neovim Newsletter – Issue #1 – A New Hope by pekk on Saturday June 07, 2014 @02:59PM (#7862745)
By the same token, NeoVim is not a well-tested codebase.
Re:Neovim Newsletter – Issue #1 – A New Hope by aktau on Saturday June 07, 2014 @03:37PM (#7862866)
Tests are being added all the time, and patches from upstream Vim integrated. Moreover we do have a reviewing process in place (mostly 2 or more people looking over the code), travis runs, all vim tests + lua unit tests are run for each PR. Coverity scans every 2 day to see if nothing slips through. Most PRs are actually simplifications of old code, afforded by depending on libuv and using an abstraction of malloc that doesn't return NULL (note that vanilla Vim was never safe against malloc returning NULL, as was tested by @philix by using the fail allocator). Granted, the new features that have been introduced, like job control, see comparatively little use at the moment but do receive review and are used to replace other things that are used a lot (such as VimL system()). By the time we get a second release, I'm confident it will be pretty well-tested, we are preparing for it.
Re:Neovim Newsletter – Issue #1 – A New Hope by philix001 on Sunday June 08, 2014 @11:40PM (#7866888)
To add on what @aktau said: soon we will have much more robust UI tests.

The current UI tests are hard to write and based on the ASCII output [2] of the commands of the test [1]. By using the Neovim API we will be able to rewrite these tests to look more like automated Sellenium based web app tests and make more fine grained assertions.

[1] A test: https://github.com/neovim/neovim/blob/39cdb5f214bcb1e4a918f6... [2] The expected test output spec: https://github.com/neovim/neovim/blob/39cdb5f214bcb1e4a918f6...

Re:Neovim Newsletter – Issue #1 – A New Hope by irremediable on Saturday June 07, 2014 @05:06PM (#7863100)
Not so! The point is that, by the same token (of reusing the Vim codebase) Neovim is closer to being a well-tested codebase.
Re:Neovim Newsletter – Issue #1 – A New Hope by ludamad on Saturday June 07, 2014 @01:49PM (#7862592)
I think the fact that you can continually have a viable program while doing the sort of refactoring they are doing makes it a lot more easy for lots of people to work on the project. Starting from scratch would mean a large portion of time where only people with a very clear design vision could write components.
Re:Neovim Newsletter – Issue #1 – A New Hope by davis on Saturday June 07, 2014 @12:00PM (#7862344)
I don't think it would have been better. We don't need another TextMate 2 on our hands.
Re:Neovim Newsletter – Issue #1 – A New Hope by glesica on Saturday June 07, 2014 @11:55AM (#7862340)
I think there was already some idea of how to make the changes they wanted to make, so it made sense to fork since the maintainer wouldn't integrate the changes.
Re:Neovim Newsletter – Issue #1 – A New Hope by cgag on Saturday June 07, 2014 @01:45PM (#7862581)
Probably yes but they'd have had to treat vim as a black box since the code is/was such a disaster.
Re:Neovim Newsletter – Issue #1 – A New Hope by buster on Saturday June 07, 2014 @12:39PM (#7862430)
If youre looking for a fast, small editor with a GUI and text interface, you can check out textadept