Part of setting up a new Windows or Linux machine for me is installing the latest PowerShell 7+.
My $PROFILE has custom modules that comprise ~9,000 lines of PowerShell. Anything "script-y" that I think I'll do more than a few times becomes a new function in one of those modules.
On Windows, I haven't used `cmd.exe` in at least a decade.
And part of my root `AGENTS.md` is "Please use PowerShell when generating scripts, unless I specifically ask for a different language."
Works a treat.
Once you get used to passing objects between commands - not just text - the thought of using a Unix-y shell feels like visiting the past.
I have only ever used Powershell when I had no other options, but a decent number of the APIs feel designed by someone who has never used a terminal. Like they were begrudgingly fulfilling the objective without ever imagining a real use-case.
Naturally, I cannot produce an example off hand, but I was pretty disappointed the last time I had to reach for it and found that a few "obvious" workflows seemed more hacky than I would have expected for a clean-slate terminal language design.
My $PROFILE has custom modules that comprise ~9,000 lines of PowerShell. Anything "script-y" that I think I'll do more than a few times becomes a new function in one of those modules.
On Windows, I haven't used `cmd.exe` in at least a decade.
And part of my root `AGENTS.md` is "Please use PowerShell when generating scripts, unless I specifically ask for a different language."
Works a treat.
Once you get used to passing objects between commands - not just text - the thought of using a Unix-y shell feels like visiting the past.
Naturally, I cannot produce an example off hand, but I was pretty disappointed the last time I had to reach for it and found that a few "obvious" workflows seemed more hacky than I would have expected for a clean-slate terminal language design.