PowerShell is underrated. For those who haven't tried it:<p>* It's part-REPL, part-shell<p>* In addition to plain text, you can pipe objects between cmdlets<p>* Integrating with .NET dlls is very easy<p>* Objects can be represented as directories using a provider model (eg, navigate the windows registry: cd HKLM:\Software\Microsoft)<p>On the other hand, I always found asynchrony/concurrency in PS to be a PITA. I wish it had async/await.<p>For an example of how to write a PowerShell module, check out this PR on Orleans (open source .NET virtual actor framework) which lets you call into remote actors: <a href="https://github.com/dotnet/orleans/pull/1990" rel="nofollow">https://github.com/dotnet/orleans/pull/1990</a>