Live data from Hacker News

Fish 4

github.com

41–50 of 113 posts

Re: Fish 4

#41
post #5

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?

First experiences with QEMU suggest ~10% more lines of code.

Re: Fish 4

#42
post #4

The 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]

What does it matter which tool-chain they use . I can understand if the difference is it made it notably slower or they dropped some features because they couldn't get it done in rust . But purely as an end user why would it matter if it's written in rust or cpp ?

Re: Fish 4

#43
post #4

The 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]

Why would you care what it's written in at all, unless you plan to work on it yourself?

Re: Fish 4

#44

I was expecting issue #9512 "Rewrite it in Rust" to have been submitted on April 1.

It's not too late for "Rewrite it in Zig" or "Rewrite it in Ada".

Re: Fish 4

#45
The 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

#46
post #4

The 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]

In what way does fish being built with cargo affect you as (not even) a user? Were you fish-curious in that you were interested in becoming a contributor? Or do you make a habit of judging projects that you might be interested in using based primarily on their build system?

Re: Fish 4

#47

Earlier quoted context omitted.

[flagged]

What do you dislike about it?

It encourages adding hundreds of dependencies to every project, taking up gigabytes of storage, making compilation slow and resulting in bloated binaries with potential vulnerabilities.

Re: Fish 4

#48
post #45

The 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

The rust cygwin target has been merged (in a different attempt): https://github.com/rust-lang/rust/pull/134999

Re: Fish 4

#49
post #12

Earlier 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.

So is C++ though. But the "wasteful" (in terms of vertical space) formatting does indeed explain the difference.

Re: Fish 4

#50
post #6

I'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.

Scripting languages are so dynamic, flexible, arcane, and subtle and the consequences for getting scripts wrong are so potentially catastrophic for a system that they are absolutely the last thing I would ever dare generate via LLM.
Post reply on HN