Powershell is a mess:
- The syntax is horrible, they should have just used an existing language like python and extend it with a library;
- The Linux version of powershell isn't supported by all modules (like the O365 module);
- MS often abandons modules and then releases something new which lacks a lot of features of the old module;
- It's not backward compatible, sometimes you need to use an older version to get something done.
- The <verb>-<noun> idea messes up autocomplete, so instead of "Get-Module" they should have gone with "Module-Get" so you could see the available options through autocomplete after typing "Module-".
Perhaps it grows on you if you only use powershell, but when you're working with multiple languages then powershell is really awkward to work with.