3 ms·
"Most of the legacy cruft, it would be great to have a green field implementation of the CLI interface." This is very true.
by UltraSane 2y ago
"Most of the legacy cruft, it would be great to have a green field implementation of the CLI interface."
This is very true.
- tonymet 2y agoCheck out powershell
- UltraSane 2y agoI've actually written many thousands of lines of Powershell for work and play. I first learned it because Vsphere used it for a CLI but I soon learned to love piping objects and filtering by property name. beat the hell out of bash that is for sure. And the ConvertTo-JSON command is amazingly useful.
- crabbone 2y agoIt's so bad that I'd actually take the decades of cruft over it. It was made by people who don't know how to use existing tools and what the actual problems are. It's like people who keep creating "new" text editors, but they never learned well how to use existing ones. So they end up with crippled half-baked thing that's some concept from the 80s that was discovered to be a dead-end in the 90s, but with modern cosmetics. PowerShell is just incompetence and hubris of people working for a large company which can push their random garbage software on a lot of users and developers due to having huge market presence.
- ykonstant 2y agoWhat are your specific criticisms of PowerShell?
- stackedinserter 2y agoNot the OP, but everything requires tons of case sensitive typing. It's easier to just write python script instead of typing this (curl http://localhost:5555/log http://localhost:5555/log | grep -o -E "2025[0-9-]+") (Invoke-WebRequest -Uri "http://localhost:5555/log" -UseBasicParsing).Content | Select-String -Pattern "2025[0-9-]+" -AllMatches | ForEach-Object { $_.Matches.Value } or this (ps ax | grep ffmpeg) Get-Process | Where-Object { $_.ProcessName -match "ffmpeg" } Maybe it's good for scripting (why not python then?) but really sucks when you need to get things done in terminal.
- tonymet 2y agoI agree. I use SetAlias ss Select-String or gm / Get-Member but you’re right the language is too verbose. Auto complete is quite good though.
- zokier 2y agoPowerShell is mostly case insensitive, `get-process` works as well as `Get-Process` or `GET-PROCESS`
- tolciho 2y ago`ps ax | grep ffmpeg` sometimes will match grep itself, so either prevent the match from matching itself, or maybe instead use pgrep(1). $ ps ax | grep ffmpeg 66898 pe S+p 0:00.01 grep ffmpeg $ ps ax | grep '[f]fmpeg' $ pgrep ffmpeg $ As for PowerShell, it does not seem useful, but then again I live mostly on OpenBSD and in the terminal.
- UltraSane 2y agoPowershell has very good tab completion. It isn't a problem. And it is case insensitive.
- notsomeuser 2y agoYet there is one and its reference shell (2022) ( https://www.youtube.com/watch?v=39ob0IO2Za0 https://www.youtube.com/watch?v=39ob0IO2Za0 ) is .. interesting https://arcan-fe.com/2025/01/27/sunsetting-cursed-terminal-emulation/ https://arcan-fe.com/2025/01/27/sunsetting-cursed-terminal-e...
- Ferret7446 2y agoThis is Chesterton's Fence. The problem with any terminal replacement is that you have to support all existing terminal applications. If you don't, then your replacement is going to be useless for half a century until everything gets re-implemented and installed everywhere (and this is assuming you can get buy-in from everyone on this speculative 50 year investment). If you do, then congratulations, you have all of the legacy terminal baggage.
- wpm 2y agoI couldn’t disagree more.
- GoblinSlayer 2y agoTempleOS