To help with that, the PowerShell services that provide the PowerShell authoring support in VS Code will also support the Sublime editor on Linux. “Going forward, that technology will light up Emacs and Vim and a host of other editors.”
PowerShell will be one more tool for Linux admins, rather than an attempt to be a special, Microsoft way to work with Linux. “A pure Linux user will look at it and say, ‘It’s just another tool on my tool shelf.’ There are lots of tools and scripting languages and in general Linux people tend to be polyglot. PowerShell for Linux will be another shell. The advantage is we’re a richer scripting language than many and we have a wider dynamic range; you can start out casual and sloppy and then get very formal.”
That will be a good match for the increasing numbers of REST APIs and JSON objects arriving on Linux, he believes. “Where PowerShell shines is when you get structured data. A lot of the Linux world is not structured but it’s getting more so. More and more of Linux is available through structured objects because they're surfacing things through REST APIs and one of the great benefits of PowerShell on Linux is the ability to deal with structured objects. When that happens, PowerShell just knocks it out of the park. You get the great traditional PowerShell experience of something you can read like an English sentence, so you know what it's doing.” With so many Linux options configured by text files that are easy to make mistakes in, Snover believes PowerShell’s error checking will be appealing. “I'm optimistic they will [like this] because the ramifications of getting it wrong are so great. This makes it simple and easy to get it right.”
Taking a dependency on open source
PowerShell isn’t just the scripting tool that manages every Microsoft server product, from Windows Server to Exchange. It’s a big part of the switch to the highly automated and standardized way of running servers that Microsoft hopes to bring from the cloud to enterprise data centers with the Nano Server option in Windows Server 2016. (Whatever management tool you use on top, PowerShell remoting is the way you work with Nano Server.) Bringing PowerShell to Linux and Mac OS builds on both the work Microsoft has done bringing .NET Core to those platforms and on the PowerShell Core the Windows Server team created for Nano Server, which is the basis of the Linux port of PowerShell.
If you think about the way Windows Server 2016 supports containers, that relies on open source in an unprecedented way for Microsoft: after installing Windows Server 2016, you’ll still need to install third-party open source software from Docker to get the complete solution, but you can manage that with PowerShell for Docker, which works against Docker containers on Windows or Linux.
Sign up for CIO Asia eNewsletters.