The Man Behind Windows PowerShell
I&#x27;ve recently written a couple thousand lines of PowerShell.<p>It&#x27;s a miserable language, full of unexpected behaviors and badly designed features. Oh, it&#x27;s got some interesting stuff going on, but things like:<p>- including the text of &#x27;echo&#x27; (and stdout generated by invoked tools) in a function&#x27;s result was a big surprise. You wind up piping stuff to &quot;Out-Null&quot; a lot in defense of this, since a lot of Windows tools are stupidly chatty (&quot;The Blffgh command succeeded with status 0!&quot;) and that&#x27;s awkward.<p>- so was the &quot;unwrapping&quot; that happens when a function returns a list (return [a,b] you get the list you want, try to return [a] and it rips off the list and just returns the inner &#x27;a&#x27;, and I think an empty list results in null . . . just wow).<p>The sole reason I use PowerShell is because it&#x27;s good for mucking with OS-level objects in Windows, stuff that I would otherwise have to write native code to frob. And sometimes that is actually kind of attractive.