Some time ago I've started with PowerShell that is really great. I can code almost everyting I know, I can use .NET framework, WMI, even WIN API. Features like piping help me a lot to write manageable and readable code. V2 added advanced functions, modules, background jobs, remoting (woow) etc.
As I said, I can do almost everything with PowerShell, but I'd like to learn a new language. The main reason is further self-education. Other reasons (not so important):
- some limitations (e.g. it's not easy to work with threads in PowerShell or generics support)
- speed (it's probably costs of wrapping all to PSObjects and not working with objects directly)
- cross-platform development (e.g. I can run Python on my Symbian, which probably won't be possible with PowerShell)
What language would you recommend me that can beat PowerShell in some areas? For example in readability, language consistency, documentation, usefullness, libraries, stability, WTF moments...
If it is able to deal with the limitations I pointed out, the better.
I prefer scripting language because of the REPL loop and because it's not too verbose as e.g. C#, but that's not a requirement.
I've had a quick look at IronPython. The main reason was hosting as presented at PDC 2009. However, I miss piping, it's too verbose and somewhat clumsy compared to PowerShell.
My background: I've worked (at least as a beginner) with these languages: with c#, c++, javascript, tsql. I had a quick look at python, but that didn't convince me to give it a try (maybe a mistake).
I don't think this question should be closed because it is specific to PowerShell and comparison to other (scripting) languages. If you vote for closing though, please leave at least a comment why.