A couple of days ago I read a blog post by Stephen Ramsay, a professor at the University of Nebraska-Lincoln and a Fellow at the Center for Digital Research in the Humanities. In it, he mentions that he has all but abandoned the GUI and finds the command line to be "faster, easier to understand, easier to integrate, more scalable, more portable, more sustainable, more consistent, and many, many times more flexible than even the most well-thought-out graphical apps." I found this very thought-provoking, because, like Ramsay, I spend a lot of time thinking about "The Future of Computing," and I think that the CLI, an interface from the past, might have a place in the interface of the future.

I would actually argue that the non-use of simple text streams is exactly what is wrong with PowerShell.

Stream of objects can be a stream of strings - which is how "legacy" commands are integrated into PowerShell. You can work that way if you prefer.

However, the object-oriented streams add tremendous robustness, simplicity and readability to scripts and scripting. There are far fewer surprises than with *sh scripting.

While I've used Bash for quite a while, I've tried to pick up PowerShell (namely to start replacing Batch scripts) and find it far easier to just use WSH+JavaScript that to interact with the PowerShell.

As with much of Microsoft Technology, it's way too complex to actually be useful and efficient.

It is always hard to learn new skills. However, PowerShell is well worth it.