Posted by ravenical 1/7/2026
I wish Nushell and Python/TypeScript have a baby one day.
C: > ls
╭────┬────────────────────────┬─────────┬─────────┬──────────────╮
│ # │ name │ type │ size │ modified │
├────┼────────────────────────┼─────────┼─────────┼──────────────┤
│ 0 │ Program Files │ dir │ 8.1 kB │ 2 hours ago │
│ 1 │ Program Files (x86) │ dir │ 8.1 kB │ 2 months ago │
│ 2 │ Users │ dir │ 4.0 kB │ 4 months ago │
│ 3 │ Windows │ dir │ 16.3 kB │ 4 days ago │
╰────┴────────────────────────┴─────────┴─────────┴──────────────╯That would be nice. Or a TypeScript transpiler to rust ;)
It's really its own kind of thing. It's definitely not just another shell.
I've written very impressive and very complex software in nu. I fully expect it to take off very fast as it nears a stable v1.0. I can't imagine going back to anything else.
You can design anything you want (see GTK for an example of moving target). But if you want anyone to use it, better stick to standards.
[1 2 3] | sum
The above does not return the sum (1 + 2 + 3 = 6). Why? Because `sum` is a *nix utility for returning the checksum. The way to do it in Nushell is: [1 2 3] | math sum
More info at [1]. Technically, this isn't Nushell's fault; it is just delegating to an external command.* Still, I found it confusing at first.* Maybe it is time to rename `sum` to `checksum`!
However, regarding the posix skepticism - I think OP has missed (or just not mentioned) the actual thing that keeps bash/zsh from being unseated.
Industrial standards are a good thing just because they’re standards. They’re right that a redesign would be superior in terms of raw design, but this is only useful if it’s adopted widely enough so that you don’t have to context switch between two fundamental systems. I spin up a new VM somewhere and it's going to have bash. I use a tool and I expect it to follow a particular convention - having to figure out which I'm reaching for adds an amount of friction that would make most work untenable.
I like zsh but I also want something better. Type safety and robust completions would make me very happy, but if we're going to make the switch we have to do it as an industry - with a set of agreed upon interfaces and standards that are carefully thought out and built on consensus. I don't know if that's possible given the massive complexity of the state of affairs but that's what it would take.
yes, it was _originally_ only for Windows, but PowerShell 6+ uses .NET Core, which is OS independent. this means that a few helper functions like GeneratePassword[0] are gone, but it's _mostly_ at parity with .NET.
the Verb-Noun structure can be confusing at first, but once you know the approved verbs[1], you can usually guess your way through command discovery, which is not something i can say for most POSIX tools (useradd and adduser do different things!!)
it's also object oriented by design, with default aliases like ?[2] and %[3], querying structured data is a breeze.
- want to check a CSV? Import-CSV[4].
- want to call a REST/SOAP endpoint? Invoke-RestMethod[5] has you covered.
- DNS queries? Resolve-DnsName[6]
as it's built on top of .NET, you get the whole CLR[7] at your fingertips! you can make a TCP client[8] in PowerShell, or even just write C# directly in your terminal[9] and execute it the same way.
such a flexible and useful language, even if it is a little slow and owned by micro$oft. but it _is_ open source[10]!
---
[0]: https://learn.microsoft.com/dotnet/api/system.web.security.m...
[1]: https://learn.microsoft.com/powershell/scripting/developer/c...
[2]: https://learn.microsoft.com/powershell/module/microsoft.powe...
[3]: https://learn.microsoft.com/powershell/module/microsoft.powe...
[4]: https://learn.microsoft.com/powershell/module/microsoft.powe...
[5]: https://learn.microsoft.com/powershell/module/microsoft.powe...
[6]: https://learn.microsoft.com/powershell/module/dnsclient/reso...
[7]: https://learn.microsoft.com/dotnet/standard/clr
[8]: https://learn.microsoft.com/dotnet/api/system.net.sockets.tc...
[9]: https://devblogs.microsoft.com/scripting/weekend-scripter-ru...
I use nushell now, and its community is fantastic. It may face breaking changes every so often, but it has a much faster execution speed and more features if you're not tied into the .NET ecosystem.