3 ms·
This should not be the top comment, it is a rant that misses the point. Neovim maintains backward compatibility where it makes sense to do so. Neovim is NOT a r
by justinmk 13y ago
This should not be the top comment, it is a rant that misses the point. Neovim maintains backward compatibility where it makes sense to do so. Neovim is NOT a rewrite, it is a thoughtful refactoring that aims to achieve one of Vim's _original_ goals: first class support for embedding. And better interoperability.
- tinco 13y agoI think you miss the point of my rant :P I'm not saying everything should be rewritten (though I do believe everything in C should be rewritten in C's successor which doesn't exist yet), but I'm saying Vim has gone too far in maintaining backwards compatibility, and if it would have improved interoperability, even at the expense of some backwards compatibility.
- jnbiche 13y ago>I do believe everything in C should be rewritten in C's successor which doesn't exist yet Both golang and D have a reasonable claim to being C's successor. People often think of D being a nextgen C++, but to me it has much more the feel of a C with garbage collection and batteries included. And golang definitely feels like a modern C, at least to me. And that's what Rob Pike had in mind, as well. PS: Had to use Word every day for years for my job. I despise it, and love vim. Vim keyboard navigation would have made my life so much easier when working on Word, and saved me several severe episodes of carpal tunnel. Luckily, I no longer have to use Word.
- nousernamesleft 13y agoGo has absolutely no claim to being C's successor. It is useless for all the things it makes sense to use C for. That's why it has attracted virtually no C programmers. Go is python's successor if user influx is anything to judge by.
- jnbiche 13y agoThat's a fair argument. Neither Golang nor D give you the control that C gives you. If that's your yardstick, then the only viable candidate at this point is Rust. But Rust doesn't feel or look anything like C, but more like C++ or maybe Scala.
- stusmall 13y agoIts not just the lack of control, the bigger problem is features that have been added in. There major use cases for C that go by its nature can not fill. It can not do bare metal programming or real time applications without major changes to the language standard. Go aims to be a superior system programming language than C but not a successor to C. No one will be doing audio codecs or device drivers in go, but I would consider it over C for a greenfield system daemon.
- a-nom-a-ly 13y ago> It can not do bare metal programming or real time applications without major changes to the language standard. TIL that these are required for text editors and related tools.
- pjmlp 13y agoThey could, if: - Go's unsafe package offered the same capabilities as Oberon's SYSTEM - It offered a bit more control about GC takes place Any AOT native compiled language can be used in place of C for user space code. There is hardly any C feature essential for such type of applications. C can be relegated for kernel space until something better gains more market share.