Live data from Hacker News

Bram Moolenaar responds to Neovim

groups.google.com

21–30 of 151 posts

Re: Bram Moolenaar responds to Neovim

#21
He's right. With every project, there's a tradeoff between achieving the goals of the project and maintaining compatibility with existing systems.

As a Go programmer, I feel a bit sad/ashamed to be saying this, but look at Plan 9 - it failed to usurp Unix (and its descendants) as the dominant OS, because the latter was "good enough", and was already more widely supported and used.

Plan 9 vs. Unix is a very different comparison than Vim vs. Neovim, and there are a lot of other factors at play, but the same principle actually holds. Improving or extending an existing system in a compatible way is a lot easier than trying to establish mindshare with a completely new tool.

The tradeoff is that extending existing systems leads to cruft and bloat. So if you can establish mindshare with a new tool, you have an opportunity to make a much more elegant one. But that's a big "if".

EDIT: I think a better analogy may be an attempt to refactor the Linux kernel into a microkernel. I'd certainly love it if this magically happened - microkernels are much easier to work with, and much more elegant. But it'd be hard to make the case that that'd be a worthwhile endeavor at this point, given the costs of doing so.

Re: Bram Moolenaar responds to Neovim

#22
post #11
post #2

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.

37Signals rewrote Basecamp from scratch and as far as I know it's been very successful.

It was rewritten by the same people who wrote the first version--very different from the Vim/Neovim case, and from Netscape 6.0.

And who knows--37Signals might well have reused some of the innards.

Re: Bram Moolenaar responds to Neovim

#23
post #14
post #11

Earlier quoted context omitted.

37Signals rewrote Basecamp from scratch and as far as I know it's been very successful.

They wrote a whole new Basecamp. There is no migration path from Basecamp Classic to current and the feature set is not necessarily the same.

Who knows, Neovim may very well drop support for vimscript and the entire ecosystem would have to start over. In the long run that may be a great thing.

Re: Bram Moolenaar responds to Neovim

#24
I want all code to stay where it is. VIM is Linux. Come to the temple for new projects, like your hymn offerings.

A C64 user's manual showed how to add binary graphics bit values together to make a balloon sprite in BASIC. Today, Bill Gates says, "You can make many fonts in HTML." The Linux people says, You can play with permissions and scripting.... I donno.

New code that is like the existing 150 demos and applicatins and hymns is what it's for.

I don't really wanty 3rd part libraries.

I set a limit of 100,000 lines of code. Think of it like the C64 ROM that lasted unchanged for ten years, and all those modest games were built on top of it. Flappy birds and shit.

God says... bring_it_on Burp fight small_talk you_owe_me gluttony do_you_have_a_problem lift astrophysics Yawn smart lighten_up what_would_Jesus_do Ivy_league service_sector Is_that_your_final_answer I'm_not_sure ba_ha lighten_up how_about_those_yankees hopefully ha you're_out_of_your_mind California my_precious tree_hugger eh absetively_posilutely persistence when_hell_freezes_over what_a_mess don't_you_love_me what_part_of_God_do_you_not_understand go_ahead_make_my_day who_are_you_to_judge peace incoming left_field What couldnt_possibly end hilarious I_forgot how_high

===============

Let 8-year-olds make the games 8-year-olds play. Gabe is a faggot.

Linus is a faggot with a cult.

=====

If you are older then 12, make hymns. Games are for kids.

Re: Bram Moolenaar responds to Neovim

#26
post #11

Earlier quoted context omitted.

37Signals rewrote Basecamp from scratch and as far as I know it's been very successful.

It was rewritten by the same people who wrote the first version--very different from the Vim/Neovim case, and from Netscape 6.0. And who knows--37Signals might well have reused some of the innards.

That is true and a fair point. Neovim will likely reuse pieces of Vim as well.

Re: Bram Moolenaar responds to Neovim

#27

He's right. With every project, there's a tradeoff between achieving the goals of the project and maintaining compatibility with existing systems. As a Go programmer, I feel a bit sad/ashamed to be saying this, but look at Plan 9 - it failed to usurp Unix (and its descendants) as the dominant OS, because the latter was "good enough", and was already more widely supported and used. Plan 9 vs. Unix is a very different…

But isn't Go itself an example of success with a complete rewrite?

Re: Bram Moolenaar responds to Neovim

#28
post #2

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.

Re: Bram Moolenaar responds to Neovim

#29
post #2

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.

> Things you should never do: rewrite the code from scratch.

I can clearly see the benefit of this old wisdom under context of limited resource and limited time, esp. in a commercial company.

However, as an experimental, personal(?), non-profit, free/open-source project, I do think neovim has value in its own right:

1. It won't affect any existing plan of vim, and won't change any existing code in vim. We can still happily use vim as usually. 2. If it succeeded, then we would have another powerful free/open source editor in our community. 3. If it failed, then we as a community have nothing to lose. The author might be unhappy then, but he would at least gain lots of experience.

There are so many rewritings happen in this community, and they are definitely good things:

- svn is a rewriting of cvs, and git is a totally new one (with more features?) written from scratch. - nginx was written even if there's apache httpd - There's zookeeper, but people wrote etcd - etc.

Re: Bram Moolenaar responds to Neovim

#30
I get the idea that Bram thinks it's going to be more of a rewrite than I think it's going to be. As in, I assumed that neovim would not be a complete rewrite or something, but more targeted refactorings.

Of course, Bram knows the codebase and I don't, and I may well have misunderstood the neovim plan, so I'm not sure which of us understands.

Post reply on HN