Debates between users of different scripting languages can be heated as everyone tries to defend their personal favorite as “the best.” It’s not necessarily clear what could objectively make one language “better” than another overall, though. Here is what PowerShell guru Adam Bertram believes to be the main reason behind the “Which scripting language is better?” debate.
What is the best scripting language?
That’s a loaded question with the ability to send readers angrily rushing for the comments. Programmers tend to be very set on which language they prefer using, and that preference often turns into the language they like being “the best.”
But, is there a way to definitively say that one scripting language is “better” than another?
Probably not. At least, that’s the belief of Adam Bertram, PowerShell guru and author of The Pester Book.
There are so many scripting languages, and they all have so many different pros and cons, that an objective decision on what makes “the best” scripting language is virtually impossible.
Yet, the debate rages on, and amidst this debate, there’s one language that tends to get more flak than it probably deserves: PowerShell.
PowerShell’s Origin Story
PowerShell was originally dubbed Monad when Jeffrey Snover began working on the project. He wrote the Monad Manifesto, which outlines the reasons he wanted to create what would become PowerShell.
At the time, Windows didn’t really have a powerful scripting language. It was all VBScript—a subset of Visual Basic—and batch files, which for a lot of people, were hard to get used to.
On the other hand, Linux was one of Microsoft’s top competitors, and they had a more to offer for scripting. A lot of this was because Linux was primarily based on text files, while Windows focused more on APIs (Applications Programming Interface) and Objects.
The ultimate goal was to make a shell as good as—or better than—any of the shells available in Linux.
The Windows vs. Linux rivalry has calmed down a bit over the years, and the trend has actually been more towards cooperation between the two now. Sometimes it feels like somebody forgot to tell the users, though.
The Pros of PowerShell
The main benefit of using PowerShell is that it’s extremely easy to learn. When someone is just starting out or wants to put several languages on their programming toolbelt, ease of adoption is very useful.
Although Windows support for PowerShell exists, it isn’t the only option. PowerShell has gained enough widespread usage that there is now a lot of support available on the exchanges hosted by third-party vendors, too.
External support and an open source mentality is important for the usefulness of a language. Just ask Python, which is one of the most popular scripting languages right now. A lot of its popularity can be attributed to the ease of sharing on the exchanges.
PowerShell can do anything that the other major scripting languages can do. It will be in a different way, but it does maintain that power and versatility that people generally look for in a language.
The PowerShell Debate
Debates about the “best” script language generally feature a number of contenders, but why do these debates even happen? There’s such a wide variety of scripting languages available, and it can only help to have more options at our disposal, right?
The problem comes down to human nature. We like what we’re used to.
If you have someone who has worked around Linux for a long time building applications, and they’re comfortable with this tool, there’s a good chance that they’re going to hate PowerShell without even trying it. They know what they like, and anything that doesn’t look exactly like what they’re used to simply can’t be very good.
But, if you have someone who has been around Windows and possibly dabbled in Linux, but they don’t really have much experience in either direction, they will probably love PowerShell.
People tend to bring a lot of bias into their decisions and opinions on scripting languages. That’s not necessarily a bad thing, but it can be self-limiting. In computer programming, there is almost always more than one way to do something.
In the debate to establish which scripting language is “better,” PowerShell is often overlooked. Of course, the debate itself is pretty much useless as it’s founded in the bias of familiarity.
If you’re a diehard Python programmer, it’s unlikely that you’ll fully convert to PowerShell. However, it can never hurt to learn additional scripting languages. There’s always something else out there.
You can find this interview and many more by subscribing to Defrag This.