J
Jeffrey Snover
jsnover.com · Personal blog · on HN since 2014
Jeffrey Snover, creator of PowerShell and a former Microsoft Technical Fellow, writes about Microsoft, technical careers and the thinking behind PowerShell.
What HN saysHN links it for the Monad Manifesto, which set out PowerShell's design, and for his post on Microsoft's inconsistent GUI frameworks.
26HN people shared it
9linked it in comments
19stories submitted
37story points
3 months agolast shared
2014people per year2026
Most-shared posts
- 1Microsoft Hasn't Had a Coherent GUI Strategy Since Petzold6 people · 13 points · first shared 2026 · discussion on HN
- 2Monad Manifesto (2002) [pdf]6 people · 7 points · first shared 2014 · discussion on HN
- 3Welcome to the Room4 people · 5 points · first shared 2026 · discussion on HN
- 4Monad manifesto4 people · first shared 2014
- 5Working with Microsoft2 people · 4 points · first shared 2016 · discussion on HN
- 6The Physics of Misunderstanding: When "Gaze" Almost Cost Me My Career2 people · 2 points · first shared 2026 · 2 comments on HN
- 7Resource Allocation: Race or Rate?1 people · 3 points · first shared 2024 · discussion on HN
- 8The Time I Asked My Boss: Are You an Idiot?1 people · 1 points · first shared 2026 · discussion on HN
- 9On Becoming a Senior Technical Individual Contributor1 people · 1 points · first shared 2016 · discussion on HN
- 10Powershell Write-Host Considered Harmful (2013)1 people · 1 points · first shared 2023 · discussion on HN
- 11Homepage1 people · first shared 2026
What HN people wrote when they linked it
toomuchtodo · 2026-01-21
https://archive.today/VEUTN
https://en.wikipedia.org/wiki/Jeffrey_Snover
https://www.jsnover.com/
peteforde · 2026-04-15
From what I understand, there's now a substantial stack of Windows app frameworks from Win32 to MFC and then 4-6 others that came after. There was a good post covering this last month: https://www.jsnover.com/blog/2026/03/13/microsoft-hasnt-had-a-coherent…
The addition of frameworks like Qt and yes, web wrappers certainly complicates things unless you're presumably deep in it.
What isn't clear to me is whether Win32 is still technically a viable choice for "modern" Windows 10/11 development. In other words, could you submit a Win32 app to the Microsoft Store, if that was something you felt like doing?
low_tech_punk · 2024-07-04
The Monad Manifesto mentioned in the podcast:
https://jsnover.com/Docs/MonadManifesto.pdf
tbyehl · 2016-06-13
Those who haven't read the Monad (Powershell) Manifesto[1] are doomed to keep repeating Unix's failures.
[1] http://www.jsnover.com/blog/2011/10/01/monad-manifesto/
gohrt · 2014-05-27
Was there a connection to the math/CS concept of "monad", or did Snover intentionally pick a name that would guarantee eveyone would be afraid of it?
from http://www.jsnover.com/blog/2011/10/01/monad-manifesto/
> I had had a number of conversations with our team in India where everyone shook their heads and smiled and seemed to get it but then the code clearly demonstrated that they had absolutely no clue what I was saying but weren’t telling me that.
> We tried a number of times to get very precise in our documentation but time and time again, it was clear that they just weren’t getting the concept
Wow, Microsoft Architechture Astronaut in a nutshell. He handwaves an idea, and then complains when someone actually writes some code and it doesn't match his imagination.
brudgers · 2014-05-27
Snover specifically set out to design "the next generation platform for administrative automation" in 2002. See the Monad Manifesto:
http://www.jsnover.com/Docs/MonadManifesto.pdf
And Snover's description of the process almost a decade later:
http://www.jsnover.com/blog/2011/10/01/monad-manifesto/
kh9000 · 2026-08-13
I hesitate to make this sound positive, but to their credit, the leadership at Microsoft who likely steered the weather app towards using the web stack at least correctly identified a major problem: there is not a single good native UI framework for Windows today.
Jeffrey Snover, creator of powershell, explained it decently well here: https://www.jsnover.com/blog/2026/03/13/microsoft-hasnt-had-a-coherent…
Was switching to webviews the right solution to that problem? Absolutely not. But at least we can admit they were in a difficult position.
At the time this bloated weather app was probably developed, the choice that most of the rest of the shell and in-box apps were making was C++/WinRT paired with System XAML (i.e. Windows::UI::Xaml aka WinUI 2 aka UWP XAML) via the still-marked-as-experimental-in-2026 islands API (DesktopWindowXamlSource) like the taskbar/control center/file explorer/etc. Or worse, actual UWP, such as the Start Menu, Settings app, or Notification Center. This can have a decent-ish memory footprint - Control Center, for example, uses about 150MB of commit and 30MB of working set. Still not good, but not atrocious either. But even for this mediocre level of performance and efficiency, you end up paying a very high cost in terms of development time and expertise required. This stack "just works" like 70% of the time, but the other 30%, you're scratching your head figuring out where you forgot to hold a strong reference across a…
jodrellblank · 2025-07-31
Microsoft's software generally gets worse over time. Office 365 Desktop is borderline unusably slow to open. Windows Explorer is, too. Their support is awful. However, .NET gets faster. PowerShell gets faster. PowerShell has a JIT compiler these days for example.
> "Another problem is Microsoft is not merging the numbers with actual feedback"
That is a problem, I agree.
> "So, at the end of the day, the numbers are not there to secure user happiness, or giving clout to the Powershell team."
Members of the Powershell team are/were active on Reddit, Steve Lee the Software Engineering Manager for PowerShell commented[2] when telemetry was introduced: "Telemetry can help increase Microsoft investment in PowerShell. If the data shows increasing usage, we can justify increasing the size of the team. However, if the data shows the opposite, then we would need to justify our existence". Your claim that that is not the reason flies in the face of the people who put it there saying why they put it there. And the public RFC they did before adding it, linked in the comment.
> "You today have PowerShell because, some big customers said they need it,"
We have PowerShell because Jeffrey Snover ported Linux/Unix tools to Windows, found they were no use, and designed a shell for Windows. Then argued Bill Gates into having an automation system that wasn't graphical to compete with Linux. Before it was PowerShell it was called Monad and Snover wrote a blog post about his design…
runjake · 2021-12-08
I disagree with pretty much your entire comment.
> PowerShell as a scripting language is a major PITA.
Well, except this part.
> After 2 hours the script would abruptly quit because of some syntax error. 2 hours wasted.
As mentioned by another commenter, the PowerShell script is parsed up front, so it probably wasn't a syntax error. My guess is the script lacked error handling and some query or connection to a remote server failed.
> A lot of Microsoft plugins have PowerShell plugins. This is what makes PowerShell valuable, not some attribute of PowerShell itself.
There we go agreeing again. Although, PowerShell is effectively self-documenting, which is good for busy sysadmins.
> Really what Microsoft should have done is to make those plugins available to C#
A lot of them effectively are available to C#, such as System.DirectoryServices.*. In the early days of Active Directory, before PowerShell, this is how we did things. While fun for us programming nerds, it took a hell of a lot more time to write usable tools.
> C# is as easy as most scripting languages in any case
Hard disagree.
> Make C# usable like Dino for TypeScript (i.e., transparent compilation).
A more C#-like scripting language? I'm all for that, but why not just use TypeScript at that point (ala the JScript days).
> Then any syntax errors in the script can be caught ahead of time, instead of after 2 hours of running.
No, you run into the exact same challenges, whether it's PowerShell or C#.
IMHO,…