VBA vs MS PowerShell
When comparing VBA vs MS PowerShell, the Slant community recommends MS PowerShell for most people. In the question“What is the best programming language to learn first?” MS PowerShell is ranked 64th while VBA is ranked 75th. The most important reason people chose MS PowerShell is:
The help system is designed to evolve over time; running `update-help` downloads the latest content. When searching for help on items, you can simply type `help commandname` to get information about a command. If you're not sure what you're looking for, but have a rough idea, you can search on partial command names, or even specify specific verbs to get a list of commands potentially of interest; e.g. `help -verb write`. The information in help gives a good overview of the commands you're looking at, along with code examples, so you can see real-world usage without resorting to the web.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Immediate practical use.
VBA contains all of the same ingredients as more general-purpose programming language and can be immediately put to use in a professional capacity from inside Windows programs such as Excel.
Pro Helpful Help
The help system is designed to evolve over time; running update-help
downloads the latest content.
When searching for help on items, you can simply type help commandname
to get information about a command.
If you're not sure what you're looking for, but have a rough idea, you can search on partial command names, or even specify specific verbs to get a list of commands potentially of interest; e.g. help -verb write
.
The information in help gives a good overview of the commands you're looking at, along with code examples, so you can see real-world usage without resorting to the web.
Pro Splatting
When calling a method with multiple parameters, rather than passing one variable per parameter you're able to "splat" one variable to the method, with the parameters taking their values from its properties.
Pro Pipeline
Commands can be chained via the pipeline, allowing output from one to be cleanly fed as input to the next.
Pro Chocolatey Package
PowerShell is installable through Chocolatey.
Pro Extensible
The language can wrap and interact with code written in other language's, making it highly extensible.
Pro Multi-Platform (ish)
Though Windows Powershell only works on Windows, the open source implementation Pash (http://pash.sourceforge.net/) allows the same language to be run on other OSes.
Cons
Con Limited Use
While it makes a lot of sense for someone wanting to get the most out of Microsoft Office and a handful of other applications, perhaps for the very practical reason of bolstering performance at work, it is restricted to use in those applications and is not suited for more general use most learners of programming are seeking.
Con Very verbose
The commands themselves, as well as the output and error messages, are VERY verbose