4 ms·
More on the motivation behind the rewrite. https://github.com/fish-shell/fish-shell/pull/9512#issuecomment-1410820102 https://github.com/fish-shell/fish-shell/
by frankjr 3y ago
More on the motivation behind the rewrite.
https://github.com/fish-shell/fish-shell/pull/9512#issuecomment-1410820102 https://github.com/fish-shell/fish-shell/pull/9512#issuecomm...
- silverlyra 3y agoWow, thank you for posting this. I’ve been kinda curious to try Fish over the years, but seeing this message from one of the maintainers – how mature and well-reasoned, how both charmingly joking and firmly assertive it is – now really gets me thinking that I’ve been missing out on using an excellent project.
- acdha 3y agoI used bash heavily for years but decided I’d spent enough time maintaining dotfiles & working around quirks around the middle of the last decade. I looked at a few alternatives but since fish had everything I wanted builtin, I decided to try it for a while. After the first day, I decided the experiment was over and switched everywhere. It’s great software both for how much it does and how little it forces you to think about how it works as opposed to what you’re trying to do.
- noobermin 3y agoIt is kind of telling that they thought porting to c++17 is "too much of a hassle" but rewriting everything in a new language isn't! Sorry, you're never ever going to beat "we did it to chase the new shiny" which is the story across the dev world. That said, I don't use fish and wish them the best
- coldtea 3y ago>It is kind of telling that they thought porting to c++17 is "too much of a hassle" but rewriting everything in a new language isn't! "Too much of a hassle" can mean "too much of a hassle in absolute terms" or "Too much of a hassle compared to what you gain". And porting to c++17 is probably high on the latter...
- stouset 3y agoAnd this is quite literally the argument put forth by the maintainers. They could upgrade to a newer C++, but it’s a lot of hassle with few benefits. On the other hand they chose to port to Rust which is likely an even bigger hassle but comes along with a bunch of benefits that make planned future development significantly easier.
- trealira 3y agoThey said that they thought it wasn't worth updating from C++11 to C++17. In their defense, C++17 adds only some incremental changes. There isn't much to port anyway. Although I don't disagree with this: > Sorry, you're never ever going to beat "we did it to chase the new shiny" which is the story across the dev world. I don't think that's the case here. Rust offers more advantages over C++11 than C++17 or C++20 do. For people who don't want to find the relevant part of the original post, this is it: > We moved to C++11 in 2016 (some quick calculation shows that's 5 years after the standard was released), and we're still on C++11 because the pain of upgrading is larger than the promises of C++14/17.
- spacechild1 3y agoBut why would they need to "upgrade" to C++17/20 in the first place? If you don't need any new features, you can just stay at C++11. (C++11 vs. C++98 is a whole other category.) So why exactly did they need to rewrite it in Rust?
- quchen 3y ago> So why exactly did they need to rewrite it in Rust? The root comment links to a post literally about this, the post you're replying to lauded its content. Reading it sounds like a good idea. You can then still disagree, but the question you've asked is definitely answered there.
- spacechild1 3y agoYou're right. I got confused by the C++17 "upgrade" argument (which doesn't make any sense to me). The following point made me laugh, though: > Being written in Rust will help fish continue to be perceived as modern and relevant. Is this tongue-in-cheek or meant seriously?
- cube2222 3y agoI believe it's meant seriously in that being written in Rust it's more likely to attract contributions from people doing it in their free time. I have only read the discussion when the rewrite was first proposed, but I believe that was mentioned as an advantage.