PowerShell with a Purpose Blog

Is PowerShell for Developers Only?

Paul Thurott recentlyposted an article about LightSwitch, and made some interesting comments on PowerShell. The article is, as usual for Paul, well-written and thought-out. But I wanted to offer some alternative viewpoints for a couple of the comments he made. Specifically:

But the problem with PowerShell is that it's so powerful as to be indecipherable to admins. In fact, it's arguably a full-blown development environment. It consists of a command line shell, a .NET-based, object-oriented scripting language, and a runtime engine that can optionally be embedded in other applications. For the typical overworked admin or IT pro, PowerShell might be a godsend if they could actually use it. But I was of the mind in 2002--as I am today--that most admins and IT pros have a completely different set of skills and are overworked as it is. To really take advantage of PowerShell, you need to be a developer or learn those skills too. And finding people who have credible administrative and developer skills is quite a trick. If you are such a person, maybe it's time to ask for a raise.

I kind of disagree. Take cars, for example, an analog Paul used later in his article. I drive a car. I have a friend who can change just about any fluid in my car. Me, not so much. We have a mutual friend who can strip a car down to bolts and rebuild every bit of it. If we were all employed in the car industry, I'd make the least money driving, my friend would make a bit more doing maintenance, and our mutual friend would make the most - probably rebuilding classic cars.

There are two points to be made, there. First, cars offer something for a variety of audiences - as does PowerShell. Just because PowerShell does offer a crazy-powerful programming environment based on .NET doesn't mean you need to use it; it also offers a much simpler command-line mode that goes out of its way to hide the underlying .NET complexities. It is no more complicated than most Unix shells.

The second point, though, is that people who know how to do more get paid more. If you can master some of PowerShell's intricacies, you're setting yourself up for a better place in life, money-wise. That's hardly a new concept: Unix and Linux administrators know this, which is why most of them love their shell environments. Cisco folks know it, which is why so few of them bother using the GUIs that lay atop their iOS. In fact, practically every admin of every operating system other than Windows knows it - and most of them handily straddle the "gap" between admin and developer. PowerShell, in fact, is one of the few shells that lets you be pretty darn effective without having high-end developer skills. 

Paul's next comment:

Microsoft can't stop making solutions like this because, at its heart, Microsoft is a developer-run company. And this isn't just because it got its start making and selling developer tools. Microsoft has always seen the world through developer-colored glasses, and is always willing to tackle even the simplest of problems with complete, extensible, and finely documented platforms. It's just in their DNA.

Amen, brother. Just looking at the architecture of SharePoint makes me wince, although from a developer's perspective, on paper, I'm sure it looks incredibly elegant. And you know, Microsoft committed some of the same sin with PowerShell. I mean, yay with the concept of "providing both basic and advanced experiences in the same product," but the fact is more people get scared off of PowerShell because all that crazy-advanced stuff is in there. Two products might have been better, even if they shared a lot of the underlying code.

The last of Paul's comments, and the main point of his article:

And now they're at it again. Last week, at the annual VSLive show, Microsoft announced a new version of its Visual Studio development tools aimed at--you guessed it--admins and IT pros. Dubbed Visual Studio LightSwitch, this product aims to provide the simplest way yet to build business applications for both the cloud (using an Azure backend) and the Windows desktop.

Lord, help us. I've been saying for years that Microsoft wasn't going to make an "admin version of Visual Studio to use with PowerShell," because they had talked about it at one point and decided not to. Changed their minds, I guess. Sigh. You know, though, it'll be great for those admins who are strong in the Development side of the Force - although those guys will doubtless continue using Visual Studio, just like they always have been. I do wish - and I agree with Paul 100% here - that Microsoft would stop thinking of administrators as "Developer Lite" and start recognizing that we have unique jobs that require unique solutions - not more copies of Visual Studio.

I wonder if Visual Studio LightSwitch will install on x64 versions of Windows. The main Visual Studio product won't, because apparently 'porting Visual Studio to 64-bit is, um, hard. 

What do you think?

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.