|
|
Subscribe / Log in / New account

Fish shell announces 4.0 beta release

fish is a shell with a custom language and several affordances not available out of the box in other shells, such as directory-sensitive command completion. Although the project does not normally make beta releases, the newly announced 4.0b1 release will have one in order to ensure that no problems were introduced after a major effort to switch the code base from C++ to Rust.

fish is a smart and user-friendly command line shell with clever features that just work, without needing an advanced degree in bash scriptology. Today we are announcing an open beta, inviting all users to try out the upcoming 4.0 release.

fish 4.0 is a big upgrade. It's got lots of new features to make using the command line easier and more enjoyable, such as more natural key binding and expanded history search. And under the hood, we've rebuilt the foundation in Rust to embrace modern computing.



to post comments

So long and thanks for all the fish

Posted Dec 20, 2024 9:12 UTC (Fri) by Shiba (guest, #151620) [Link] (10 responses)

I'll stick to 3.7 for as long as it's feasible, then I'll probably go back to ZSH. Thank you for all these years.

So long and thanks for all the fish

Posted Dec 20, 2024 10:07 UTC (Fri) by zdzichu (subscriber, #17118) [Link] (5 responses)

May I ask why?

So long and thanks for all the fish

Posted Dec 20, 2024 21:15 UTC (Fri) by raven667 (subscriber, #5198) [Link] (3 responses)

Are you sure you are going to be able to do anything with whatever answer you get? This seems the kind of personal taste issue which is beyond debate.

So long and thanks for all the fish

Posted Dec 20, 2024 22:28 UTC (Fri) by zdzichu (subscriber, #17118) [Link]

I'm not affiliated with Fish in any way. I'm genuinely interested.

So long and thanks for all the fish

Posted Dec 21, 2024 3:32 UTC (Sat) by jmalcolm (subscriber, #8876) [Link] (1 responses)

Not who you asked but I would like to know as well. My sincerest hope would be that it is an insightful reason that I can learn from. It is not always that of course.

So long and thanks for all the fish

Posted Dec 22, 2024 9:12 UTC (Sun) by smurf (subscriber, #17840) [Link]

Well, me too, but quite frankly I'd be (positively) surprised if the reason boiled down to something other than "Rust is Evil".

So long and thanks for all the fish

Posted Dec 30, 2024 6:07 UTC (Mon) by Phantom_Hoover (subscriber, #167627) [Link]

It’s pretty obviously flame bait.

So long and thanks for all the fish

Posted Dec 21, 2024 3:30 UTC (Sat) by rcampos (subscriber, #59737) [Link]

*thank you for all the fish

So long and thanks for all the fish

Posted Dec 24, 2024 19:25 UTC (Tue) by titaniumtown (subscriber, #163761) [Link] (2 responses)

I'm extremely curious why and what your reasoning is. I have been using Fish for a very long while now, would love to know if there's something I've missed!

So long and thanks for all the fish

Posted Dec 25, 2024 10:34 UTC (Wed) by smurf (subscriber, #17840) [Link] (1 responses)

Let's just say that some people react to "Rust is a substantial improvement over C/C++" basically the same way some other(?) people react to "systemd is a substantial improvement over SysVinit et al.".

So long and thanks for all the fish

Posted Dec 28, 2024 2:31 UTC (Sat) by NYKevin (subscriber, #129325) [Link]

Which is baffling, because at least systemd imposes a non-zero cost on sysadmins who have to learn how the new init works. From the perspective of an end user, the language a program is written in has no impact on anything other than performance (which is, at best, a very marginal difference in the case of C++ vs. Rust, and for some apps, it probably breaks in Rust's favor, thanks to pervasive noalias and cheaper* move semantics).

* "Cheaper" = "easier to optimize," not "inherently faster." Rust moves are memcpy, which the compiler backends are very good at eliding. C++ moves are method calls, which are totally opaque without LTO, and mostly opaque if the method is virtual... plus a bunch of intentional loopholes in the standard to allow elision in some cases anyway, meaning the optimizer can change the behavior of a well-defined (no UB) program through (non-guaranteed) copy elision. Don't panic, it's usually fine.


Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds