d3Xt3r an hour ago

In case you guys missed it: the popular fish shell is also now written in Rust. :)

https://github.com/fish-shell/fish-shell/releases/tag/4.0.0

  • dangus an hour ago

    Beat me to it. A lot of the value in choosing a specific shell lies in its popularity, so I think you really need to have a specific reason to choose something outside of bash/zsh/fish.

    • eindiran 42 minutes ago

      > you really need to have a specific reason to choose something outside of bash/zsh/fish

      The reason in question is that not that long ago, people said "you really need to have a specific reason to choose something outside of bash", and people choosing to go off the beaten path lead to zsh and fish becoming powerful and way more popular/well-supported than they were before.

sigmonsays 39 minutes ago

" It is still quite a ways from becoming stabilized, but we are getting very close " haha

mtillman 2 hours ago

"It is written entirely in Rust, which greatly increases the overall quality and security of the shell."

Is this true? I don't know Rust so I'm probably missing context. Obvious kudos to OP for writing a shell.

  • zie an hour ago

    You get memory safety. That's about it for Security. Quality is in the eye of the beholder. maybe it's quality code? Maybe it's junk, who knows. Rust isn't magic that forces code to be quality code or anything. That said, the code in the Redox system is generally good, so it's probably fine, but that's not because it's written in Rust, it's because of the developers.

    Any GC'd language(Python, JS, Ruby, etc) gives you the same memory safety guarantees that Rust gives you. Of course GC'd languages tend to go a fair bit slower(sometimes very drastically slower) than Rust. So really the memory safety bit of Rust is that the memory safety happens at develop and compile time, instead of at runtime, like a GC language does. So you get the speed of other "systems" languages, like C, C++, etc AND memory safety.

    • Philpax an hour ago

      > Rust isn't magic that forces code to be quality code or anything.

      It is not, but the language and ecosystem are generally very well-designed and encourage you to "do the right thing," as it were. Many of the APIs you'd use in your day-to-day are designed to make it much harder to hold them wrong. On balance, outside of Haskell, it's probably the implementation language that fills me with the most confidence for any given particular piece of software.

    • vlovich123 an hour ago

      While I generally agree, the latest Android report suggests that rust developers get fewer reverts and code reviews are faster. This could mean that better developers tend to adopt rust or it could mean that rust really is a language where quality is easier to attain.

      There’s some reason to believe that given how easy it is to integrate testing into the rust code base and in general the trait and class system is also a bit higher quality and it encourage better isolation and things like const by default and not allowing API that could misuse the data structure in some unsafe way. And it has a rich ecosystem that’s easy to integrate 3p dependencies so that you’re not solving the same problem repeatedly like you tend to do in c++

      So there is some reason to believe Rust does actually encourage slightly higher quality code out of developers.

  • ablob 2 hours ago

    It's true for new projects. For rewrites (such as a shell) it can mean a lot of regressions. The rust-replacements for coreutils are a good negative example. The new programs do not reach feature-parity, added regressions, and in some cases also had security vulnerabilities.

    So for battle-proved software I wouldn't say so per-se (if your goal is to replace them).

    Nonetheless, if you add truly new rust-code to a new or existing codebase when it's without much of hassle with the interop it should hold.

  • handwarmers 23 minutes ago

    Not necessarily. "Quality" and "Security" can be tricky subjects when it comes to a shell. Rust itself is pretty great, but its HN community is made of cringe and zealotry - don't let them dissuade you from trying the language :P

JadoJodo an hour ago

I feel like an opportunity was missed by one letteR.

torginus an hour ago

I might be ignorant, but it looks to me like a slightly Rust-ified Bash, not sure if there's any standout features here - if there are could somebody point those out?

I kind of hate to admit, but in many ways Powershell is stil king of the shell game (haha) - the fact that it's object based (with autocomplete!) and has a proper JIT, meaning it's fast enough in processing pretty much anything just with native shell scripts (certainly not true for Bash or Python!) gives it a very different feel. Afaik there are object based shells, but none are fast enough to be generally faster or as fast as the disk is, meaning you need to resort to tricks for heavy-duty processing.

Too bad Microsoft messed up the ergonomics, and using it feels like pulling teeth.

  • Philpax an hour ago

    Have you tried nushell?

raggi 2 hours ago

I love how one of the screenshots appears to be using the ion window manager, I guess they're very aware of the name collision :D

citizenpaul 36 minutes ago

Its worth mentioning that this seems to be purpose made to work with an entire custom rust OS Redox-OS. I didn't know that at first glance since I never heard of it. It also answered my question of whats wrong with NuShell?

timeon 2 hours ago

Why is this link to mirror instead of actual repo?

speed_spread 29 minutes ago

Too bad README doesn't show sample commands, discuss design or list differences from existing shells. So... it's just a shell, in Rust? Like fish, but still WIP? And only for redox-os?

In which case, why not just go with nushell https://www.nushell.sh/