4 ms·
With that thinking we never get Linux (NeoMinix), tmux (NeoScreen), Clang (NeoGCC), WebKit (NeoGecko), Subversion (NeoCVS), or Vim itself (NeoVi/Elvis/Stevie/et
by haberman 13y ago
With that thinking we never get Linux (NeoMinix), tmux (NeoScreen), Clang (NeoGCC), WebKit (NeoGecko), Subversion (NeoCVS), or Vim itself (NeoVi/Elvis/Stevie/etc).
- raverbashing 13y agoHuummmmm no Neovim is being sold as a VIM refactor, but apparently with no new functionality Very different from Linux (had an aim of being a playground for new features), tmux is different from screen as Clang is different from GCC, Subversion is a totally different beast from CVS
- haberman 13y ago> Neovim is being sold as a VIM refactor, but apparently with no new functionality Where did you get that idea? When I read the project page (https://github.com/neovim/neovim https://github.com/neovim/neovim), two of the explicit goals are: "Enable the implementation of new/modern user interfaces without any modifications to the core source. "Improve the extensibility power with a new plugin architecture based on coprocesses. Plugins will be written in any programming language without any explicit support from the editor. " It is exactly designed to be a playground for new features, but with the goal of them not having to be in the core.
- pit 13y agoThe original mailing list post says: "There's a new project that is called Neovim that seeks to refactor and modernize the codebase."
- pit 13y agoThe original mailing list message says: "There's a new project that is called Neovim that seeks to refactor and modernize the codebase"
- zimbatm 13y agoThat's the necessary step 1 to allow further enhancements
- username223 13y ago"Try blue - it's the new red!" Someone should try to make some money replacing tabs with spaces and snake_case with camelCase.
- mden 13y agoNeovim isn't a simple refactor though. It adds the ability to do many things which aren't currently possible or are extremely difficult to do with the current vim. Sometimes there is no easy way out and you have to put in the work to fix previous limitations.
- guyzmo 13y agowell, if you want a re-think/re-factor of vim, you should definitely have a look at kak (https://github.com/mawww/kakoune https://github.com/mawww/kakoune). It's basically trying to improve over vim, still using command/insertion modes, inverting the commands (by using movement/action instead of action/movement)… It's pretty configurable and the codebase is new. definitely worth a try!
- mekarpeles 13y agoTo a degree, I think these distinctions both support and are a logical consequence of haberman's argument (please correct me if I'm wrong). As computing systems evolves, we learn more about how to address their constraints and how these constraints impact how users choose/desire to interface with their programs. Vim is publicly ~22 years old. During it's maturation, many computing milestones have been met which overcome many of the original assumptions or challenges which prevented us from using some of the interfaces we prefer today. Async (re: MarcWebber) being one such example. I believe tmux / screen is a beautiful example, given Screen has a lot of black magic and has a very challenging codebase to work with. A lot of the philosophy built into tmux are cumulative learnings deduced from what was done correctly or incorrectly within screen. This materializes as features missing (or implemented with different intent) from tmux that exist in screen -- the philosophy behind sessions is one such big underlying principle change. I like to think of this as similar to using a genetic algorithm to evolve an overly complex/convoluted solution over a period of time (based on some assumptions which may no longer even be applicable), and then explicitly defining/reconstructing a comparable solution using more deterministic and intentional approaches. The focus of these two development cycles are fundamentally different and perhaps neither wrong (the former attempts to discover novel ways of addressing a problem whose solution is unknown, the latter prunes this known search space).
- kbrosnan 13y agoWebKit does not work for your analogy. WebKit and Gecko are two completely separate HTML parsing engines. Maybe you ment neo-kHTML.
- _delirium 13y agoThere's also Google's Blink, the Neo-WebKit.
- username223 13y agoJoel didn't consider forks for corporate-political of self-promotional reasons. Naively enough, he assumed they were attempts to improve software.
- a3n 13y agoCall it a clone, refactor, rewrite, fork, whatever. If it gets subsumed into Vim I'll use it without having to choose. If it gets traction as a second thing, I'll try it. If it's better than Vim I'll keep it. Let them write, good luck, have fun, I'll try it if I hear from HN that it's good enough to use. I don't think it violates "don't rewrite" because these aren't the Vim people. Vim itself won't "suffer" from the ill effects of a rewrite.
- blueskin_ 13y agoNone of those are from-scratch rewrites of existing software. They're mostly (not all) clones of existing software, with some (e.g. Linux) being more "inspired by", and some (e.g. Clang) being "We can do this better".