- cross-posted to:
- commandline@programming.dev
- hackernews@derp.foo
- cross-posted to:
- commandline@programming.dev
- hackernews@derp.foo
There is a discussion on Hacker News, but feel free to comment here as well.
There is a discussion on Hacker News, but feel free to comment here as well.
As someone who regularly uses nu, I can say from experience that it is the most pleasant shell experience I’ve had in a long time. I always felt like the concepts Powershell brought were powerful and useful, but that the language itself was lacking.
nu
seems to have both the data types that made Powershell so powerful, and the brevity that makes bash so convenient to use. The tab completions and consistent format for command documentation are also really nice, and it feels more like a modern scripting language (with a functional twist) than a weird, ugly shell language.The only reason I wouldn’t recommend
nu
to people is because it is pretty unstable, from my experience. Updates often include breaking changes, but this is natural for software this early in its development. Once it stabilizes, I think I’ll start encouraging it more broadly.For fun, to answer the questions posed in the article myself:
Yes, absolutely. If a person is willing to learn a new shell and is willing to adopt something that’s a bit more bleeding edge, I highly recommend giving this shell a shot. That’s not to say you’ll love the shell as much as I do, but I think it’s still worth taking a look at.
Potentially, but now’s not the time. It needs two things, in my opinion, before it can be fully adopted:
carapace
) or use the built-in completer (which is used as a fallback when you specify a custom completer I believe), but the built-in completer supports only a specific syntax and does not support custom parsing, from what I can tell. As far as functionality, I haven’t really run into anything I could do in bash that I couldn’t do innu
, completions aside of course.nu
script isn’t guaranteed to work in 6 months, 2 years, or a decade. It isn’t guaranteed to succeed when you need it to in your CI pipelines for the lifetime of the service your company is developing. Bash, on the other hand, does have these guarantees, generally speaking. If this changes andnu
becomes stable, thennu
can start to replace bash where it matters most.If these criteria are met and the language starts becoming adopted as a new standard, I think we’ll see people start to appreciate how powerful a typed shell language is, and their expectations from their shell will go up. Scripting languages like Python and Ruby exist to help patch over many of the flaws of languages like Bash, things like lack of certain standard library functions, syntactic issues, portability, etc.
nu
feels like it has many of these features (though not nearly as fully featured of a standard library as Python, to be fair) and could take the place of many of these scripting languages for simple build scripts, CI scripts, etc.Probably the main reason I’m not using Nushell is because it doesn’t support job control (at least last time I checked). Are there any plans to work on that?
I haven’t needed job control for my daily needs, but it may be good to check the issues to see if any have been created for your specific needs. I’m not sure whether what you want is being worked on, but if not, it could be good to create an issue for it.
Edit: Looks like there are some issues open for job control, but nothing really finalized yet.