Shells that pass around objects can be useful, but I don't think Powershell is really a great example of one. As you point out, the syntax isn't particularly good, and whilst Pash might be different, I found Microsoft's Powershell implementation to be extremely slow and clunky.
I'm kinda liking Rush, a object-orientated shell written in Ruby. The syntax is a lot nicer, assuming you're into Ruby:
processes.select(:cmdline => /^z/).kill
It also works a lot better with remote machines.
Powershell's main weaknesses, in my opinion at least, is that it doesn't handle remoting very well, and that it requires the user to learn a new syntax in order to use it. I really like learning new languages, but I don't see myself needing Powershell anywhere near often enough to warrant remembering its syntax.
I'm kinda liking Rush, a object-orientated shell written in Ruby. The syntax is a lot nicer, assuming you're into Ruby:
It also works a lot better with remote machines.Powershell's main weaknesses, in my opinion at least, is that it doesn't handle remoting very well, and that it requires the user to learn a new syntax in order to use it. I really like learning new languages, but I don't see myself needing Powershell anywhere near often enough to warrant remembering its syntax.