A Historical Architectural Tour of PowerShell
summary
A chronological tour that names dates and design choices traces why PowerShell starts in 2001, adopts a POSIX-rooted yet C#-style grammar, and ships as Windows PowerShell in 2006; it shows concrete artifacts in source control: PSObject wrapper and the providers as namespaces model, explains the costly parameter binder two‑pass bind and heavy resource tradeoffs, recounts Exchange adoption and snap‑in workarounds, and says most ideas ship and work while native‑command handling and binding remain noticeably brittle.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:10In the beginning.
- 3:22Meanwhile, in Building 42.
- 4:42Monad Begins: Guiding Design Principles
- 7:35Guiding Design Principles cont'd
- 9:57Project begins: we acquire a team...
- 12:53Big Idea: Domain-Specific Vocabularies
- 14:59Big Idea: Universal command-line parsing
- 16:34Big Idea: Declarative Parameter Constraints
- 17:55Big Idea: Providers (namespaces)
- 19:32Big Idea: Extended Type System
- 22:57Implementation...
- 25:20Context Objects
- 28:27The PowerShell Language
- 29:34Language roots...
- 33:00The language evolves...
- 34:36Not Your Parental Units Shell
- 39:26Scriptblocks and the call(&) operator.
- 42:49Language Design Questions
- 46:58Language Questions cont'd
- 52:08Shipping Is Fun 3!
related talks
01h 07mPowerShell: Designed for a Messy World
01h 03mThe Zen of Powershell - PowerShell for the C# dev
39mLinux Shell Debates or: How I Stopped Worrying and Learned to Love PowerShell
53mState of the Shell
49mState of The Shell
45mPlatform PowerShell
35mState of the Shell
45mNew Shell in Town: Adventures in using PowerShell on Linux
