Fish 4.0: The Fish Of Theseus ( https://fishshell.com/blog/rustport/ ) is the full story of their rewrite from C++ to Rust. Discussed on HN here - https://news.ycombinator.com/item?id=42535217 (906 points, 198 comments). Highlights of the rewrite - 1155 files changed, 110247 insertions(+), 88941 deletions(-) (excluding translations) - 2604 commits by over 200 authors - 498 issues - Almost 2 years of work - 57K Lines…
I'm surprised Rust took more lines. Perhaps formatter makes shorter lines due to method chaining? Or improved test suite?
Fish 4
41–50 of 113 posts
Re: Fish 4
#42The most interesting thing about Fish 4.0.0 for most people will be that it is now written in Rust, which they talk about here [1]. Looking forward to testing it out and seeing if there are any noticeable differences. [1] https://github.com/fish-shell/fish-shell/pull/9512
[flagged]
Re: Fish 4
#43The most interesting thing about Fish 4.0.0 for most people will be that it is now written in Rust, which they talk about here [1]. Looking forward to testing it out and seeing if there are any noticeable differences. [1] https://github.com/fish-shell/fish-shell/pull/9512
[flagged]
Re: Fish 4
#44I was expecting issue #9512 "Rewrite it in Rust" to have been submitted on April 1.
Re: Fish 4
#45https://github.com/ookiineko-cygport/rust
There have been discussions about adding the target to Rust, but they have not been pursued:
Re: Fish 4
#46The most interesting thing about Fish 4.0.0 for most people will be that it is now written in Rust, which they talk about here [1]. Looking forward to testing it out and seeing if there are any noticeable differences. [1] https://github.com/fish-shell/fish-shell/pull/9512
[flagged]
Re: Fish 4
#47Re: Fish 4
#48The rustport blog post says they lost support for Cygwin because it's not a supported Rust target. Looks like there is a fork for this: https://github.com/ookiineko-cygport/rust There have been discussions about adding the target to Rust, but they have not been pursued: https://github.com/rust-lang/rust/issues/79854 https://github.com/rust-lang/rust/issues/5526
Re: Fish 4
#49Earlier quoted context omitted.
I'm surprised Rust took more lines. Perhaps formatter makes shorter lines due to method chaining? Or improved test suite?
Rust, IMO is a noisy language. So not surprising it took more lines. Having to handle every case of every branch also probably balloons line count. Efficient LOC is not a goal of rust at all anyway.
Re: Fish 4
#50I've used Fish for many years, but frankly only for the great autocompletion. The streamlined theme/prompt system and oh-my-fish plugin management are quite nice too, but minor. The rest of Fish features that are not bash-compatible are rather a pain, particularly environment variable management. In principle these features have a better design than in bash, but not that much better, and their use is infrequent enoug…
The better syntax used to be a selling point, but now with AI being able to generate any trivial one-liner and minor scripts you need on a day-to-day basics, have a bad syntax would only affect bigger projects, which I would not write in Fish shell anyway. It's a hard sell.