Why I Love Powershell
PowerShell, a better shell, after 30 years of unix crap
Since now Microsoft Windows is my main, i am diving into PowerShell headstrong.
Need is the best way to learn. Since am now on Windows, have picked up pwsh daily, due to need. For example: replacement for Unix find, grep, diff, unzip.
PowerShell is a properly designed shell, unlike the unix faaks.
Here's reasons why PowerShell is better than bash + unix util bags.
- PowerShell has proper command names. Names are full and meaningful. Example:
Get-ChildItem
(ls
),Select-String
(grep
),New-Item
(touch
,mkdir
),Get-Content
(cat
),Expand-Archive
(unzip
),Compare-Object
(diff
). [see PowerShell vs Bash] - PowerShell has systematic alias/abbrev and name completion. For example: completion works for option names too, and command name abbrevs are not longer than unix commands. For example:
Get-ChildItem
has abbrevdir
andls
andgci
. - PowerShell commands are more general. For example:
Get-ChildItem
is not just for listing directory, but for listing any tree structure. For example, for listing environment variable or Windows Registry. - PowerShell has consistent syntax and option names and semantic of their order, for ALL commands. Unlike the unix situation with wild option syntax and semantics. [see Unix Pipe as Functional Language]
- PowerShell documentation is superb, well written, consistent format, with plenty code examples. I'd rate PowerShell doc to be one of the best in computing. Of the 10 programing language plus tens of programing tool docs of past 30 years i've read, i'd rank PowerShell's document to be among top ten best. unix man page is the extreme opposite, ranks the worst. [see Doc by Dummies]
- PowerShell has more formalized data types and pipe. It's not just string. PowerShell deal with objects, with full programing language system the dot NET backbone. Numbers, string, and other argument values, expression, all have proper type, and object with methods.
- PowerShell is now cross-platform since 2016. Works on linux and macOS too.
Programing Language Design
- What's Ontology of Programing Language?
- A Class of Computer Languages: Math Languages
- Why I Hate Exceptions
- Iterator, Enumerator, Abstraction Went Wrong
- Language Design: Should Array Index Start at 0 or 1?
- Syntactic Semantic Difference of Map
- Should Map f Specify Order?
- Function Dependency
- Why I Hate C
- Why I Love Golang
- Why I Love Powershell
- The Complexity of Java Access Specifiers
If you have a question, put $5 at patreon and message me.