Actually you need to memorize million times less stuff to use powershell comparing to bash. This is because everything is a string in bash, so you have to learn a custom DSL for each task. Want to parse a JSON? Learn jq. Want to parse XML? Learn xmlstarlet. etc. In powershell you just use ConvertFrom-JSON to convert json to object and then use normal powershell syntax to access object properties instead of using custom DSL. That's the problem with bash - learn million DSLs for each file type, format, etc.