Scripting Languages vs Programming Languages: PowerShell

Our “Top Programming Languages for DevOps” prompted a social media reaction when it did not include Microsoft’s popular PowerShell scripting language. Christopher Tozzi, the author of that article, responded to the controversy to clarify that when comparing scripting languages vs programming languages, the lines are quite clear on what qualifies under each listing.

Richard Hay, Senior Content Producer

March 27, 2018

4 Min Read
IT Pro at Desk with Notebook and Laptop

A few weeks ago, ITPro Today contributor Christopher Tozzi, put together his list of top programming languages for DevOps. He had a simple goal: Explain why he thought Go, Python, Scala, Ruby, and C were superior programming languages as part of a tool kit for those working in DevOps.

In that article, he built his list based on six key criteria:

Scalability, so that you can meet fluctuating user demand.

Efficiency, in terms of both application performance and in staff members' time.

Modularity, which makes programming more efficient and can help to build microservices-oriented applications.

High performance, because DevOps should encourage quality and an excellent user experience.

Familiarity, because, ideally, you want your engineers to be accustomed to using the technology you work with before they join your team, so that they don't have to learn everything from the ground up.

Portability, since the deployment environment or operating system you target today may change in the future.

As Tozzi said in his follow up comment on the original article after seeing the responses on social media, “PowerShell is a scripting language and doesn’t qualify as a ‘programming language’ in the formal sense of the term.”

He concluded by saying, “That's not to knock PowerShell or its fans. It's a powerful scripting language, to be sure. But I don't think it fits the bill for DevOps programming.”

However, since the subject of PowerShell came up as a result of Christopher’s article, let's talk about the benefits of PowerShell as a scripting language and how it can benefit anyone working in DevOps.

I had a conversation with Mick Pletcher, a Microsoft Most Valuable Professional (MVP) for Cloud and Data Center Management. His website, MickIT.com, is number 30 on the list of Top 50 PowerShell blogs on Feedspot.

The first thing I asked him was where he thought PowerShell should fall on a list when comparing scripting languages vs programming languages. Pletcher confirmed that PowerShell is most certainly a scripting language, a very powerful one at that, but Tozzi was correct in not listing it among programming languages for DevOps. 

Pletcher added that PowerShell scripts can be compiled as executables for distribution and use, but they are still scripts that are executing inside of that file and not a programming language of any kind. He also confirmed that PowerShell’s number one purpose for DevOps, System Admins, and IT Pros is the automation of various administration tasks. Today, most Microsoft products and services have hooks in them that can be used with PowerShell. In addition, some OEMS like Cisco and VMWare are adding similar capabilities into services that enable the use of PowerShell for system management.

I asked what he considered the top uses of PowerShell and he gave me this list of possible scenarios:

  1. Automating repetitive tasks.

  2. Deploying software.

  3. Managing servers across a domain.

  4. Managing users in Active Directory.

  5. Parsing logs & retrieving system information/statistics for reports.

  6. Managing system operating system images for deployment.

  7. Working with on-premises, hybrid cloud, and with cloud providers such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure.

  8. Performing forensic related searches of system logs to investigate breaches, threats, and other access related concerns.

He also added that when PowerShell is used in these hybrid cloud and full cloud environments, there is a cost savings because it is faster to run a PowerShell script to perform management tasks versus sitting at a computer with a remote connection to the cloud service and manually performing these work items. When connection time costs money, the less time you are connected obviously means reduced overall costs.

As we were wrapping up our conversation, I went back to the metrics that Tozzi used as he picked the programming languages for his DevOps list:

- Scalability

- Efficiency

- Modularity

- High Performance

- Familiarity

- Portability

When you look at the list of uses that Pletcher provided during our chat, you will find that each of the attributes listed above can be applied to that list of capabilities.

The six criteria Tozzi defined were initially meant for programming languages, but it seems they are key aspects you should always look for when researching any tool you might be looking at for use in your organization when you're assessing, maintaining or improving your organization's IT..

You can learn more about Microsoft PowerShell at the PowerShell Documentations Portal.

About the Author

Richard Hay

Senior Content Producer, IT Pro Today (Informa Tech)

I served for 29 plus years in the U.S. Navy and retired as a Master Chief Petty Officer in November 2011. My work background in the Navy was telecommunications related so my hobby of computers fit well with what I did for the Navy. I consider myself a tech geek and enjoy most things in that arena.

My first website – AnotherWin95.com – came online in 1995. Back then I used GeoCities Web Hosting for it and WindowsObserver.com is the result of the work I have done on that site since 1995.

In January 2010 my community contributions were recognized by Microsoft when I received my first Most Valuable Professional (MVP) Award for the Windows Operating System. Since then I have been renewed as a Microsoft MVP each subsequent year since that initial award. I am also a member of the inaugural group of Windows Insider MVPs which began in 2016.

I previously hosted the Observed Tech PODCAST for 10 years and 317 episodes and now host a new podcast called Faith, Tech, and Space. 

I began contributing to Penton Technology websites in January 2015 and in April 2017 I was hired as the Senior Content Producer for Penton Technology which is now Informa Tech. In that role, I contribute to ITPro Today and cover operating systems, enterprise technology, and productivity.

https://twitter.com/winobs

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like