PowerShell give the impression of being simple for basic users but it's a cluster shell of complexity. With a mess of everything being subtly different and broken. Just look at the case of Microsoft that hijacked the curl command in PowerShell with different arguments.
It's even worse if you are an intense user of vscode because they will obviously go hand to hand.
The whole article has proof of my opinion.
For example: still have not bothered to add tab completion to my shell scripts because of the extra steps involved. I am lazy.
PowerShell gives you this for free when you write a “cmdlet”
He says that PowerShell gives the completion for free but for that he has to create a cmdlet and fill the prototype and typing info going with it.
And that will just give you basic argument completion but not logical one like a lot of tools do.So it is not at all "free", just it is used to do it with PowerShell so doesn't notice the cost anymore. Like people saying that they never encounter bugs and annoying issues with Windows when they have some every few hours but they are totally used to it anymore.