Re: " from top to bottom Windows is"
>>"No. Windows is still mostly a C API, which is not object oriented. It also has some C++ and COM APIs, which are object oriented, but which are not .NET objects. Powershell requires its wrappers over all of them."
No. Windows HAS a C API (and others). But pretty much every setting and configurable option in the OS is exposed as an object for use by Powershell.
>>And frankly, I'd prefer to call a COM API than a .NET one. It doesn't require a specific VM, a JIT, and a framework just to call a function - and you can call it from many more languages and scripts.
It's the 21st Century. It's okay to use languages that don't require an explicit compilation step. We're discussing Powershell vs. Bash. None of the above is relevant in a comparison of the two.