News for hackers. Stuff that matters.
Re:HTTP/2 and HTTP/3 explained by MrBuddyCasino on Thursday March 14, 2024 @09:28AM (#39703724)
People react to incentives. Windows got PowerShell instead of an improved cmd.exe because improving or fixing existing things does not matter in the yearly promotion package talks, but new stuff does.
Re:HTTP/2 and HTTP/3 explained by jsnell on Thursday March 14, 2024 @10:05AM (#39704173)
That's actually a hilarious example (in the "hilariously wrong" sense), because Jeffrey Snover had to accept a demotion to make PowerShell. He was told it was a useless project, not fit for someone at his level to work on, and bumped down a level when he persisted.
Re:HTTP/2 and HTTP/3 explained by MrBuddyCasino on Thursday March 14, 2024 @11:14AM (#39705074)
Interesting, because a Windows kernel hacker told it differently [0]:

These junior developers also have a tendency to make improvements to the system by implementing brand-new features instead of improving old ones. Look at recent Microsoft releases: we don't fix old features, but accrete new ones. New features help much more at review time than improvements to old ones.

(That's literally the explanation for PowerShell. Many of us wanted to improve cmd.exe, but couldn't.)

[0] https://blog.zorinaq.com/i-contribute-to-the-windows-kernel-...

Re:HTTP/2 and HTTP/3 explained by jsnell on Thursday March 14, 2024 @12:16PM (#39705823)
Here's a source for my claim: https://news.ycombinator.com/item?id=31302174

(I'd heard the story in person from Snover years before that, so it definitely wasn't just sour grapes from somebody about to leave the company.)

I can totally believe that MS had a culture where making improvements to cmd.exe was impossible to justify, but that doesn't actually mean that a greenfield project in the same space would be considered promo-worthy either. It seems more likely that everything in that space was viewed as career suicide and you needed to be working on Internet stuff, just like at today's bigco anything except AI will have the same problem.

Re:HTTP/2 and HTTP/3 explained by pi-e-sigma on Thursday March 14, 2024 @10:43AM (#39704672)
But then he got a promotion. So it was a calculated bet that paid off.
Re:HTTP/2 and HTTP/3 explained by afavour on Thursday March 14, 2024 @10:43AM (#39704669)
Wouldn't it be more likely that maintaining backwards compatibility (an important Windows trait, after all) while also implementing all of Powershell would be a considerably more difficult task than just making a new scripting environment?
Re:HTTP/2 and HTTP/3 explained by pi-e-sigma on Thursday March 14, 2024 @12:45PM (#39706169)
yes, too much to ask for a multi-trillion company, especially that this company was until recently well known for maintaining crazy level of backward compatibility
Re:HTTP/2 and HTTP/3 explained by afavour on Thursday March 14, 2024 @09:38PM (#39711216)
But… this is backwards compatibility. The command prompt is backwards compatible. Sometimes the best way to ensure that is to preserve in amber and replace.
Re:HTTP/2 and HTTP/3 explained by aetimmes on Thursday March 14, 2024 @10:08AM (#39704218)
cmd.exe is a terminal emulator and PowerShell is a fully-formed scripting language (that Windows desperately needed). This analogy doesn't work the way you think it does.
Re:HTTP/2 and HTTP/3 explained by dragonwriter on Thursday March 14, 2024 @10:17AM (#39704336)
> cmd.exe is a terminal emulator

Isn't Windows Console the (old) terminal emulator, with cmd.exe being just the command-line interpreter.

Re:HTTP/2 and HTTP/3 explained by jkrejcha on Sunday March 17, 2024 @08:15PM (#39739265)
Yeah, conhost.exe is the old terminal emulator effectively (cmd.exe being a shell).

Before that, csrss.exe handled terminal emulation (which is why console windows weren't themable[1]).

[1]: https://devblogs.microsoft.com/oldnewthing/20071231-00/?p=23...

Re:HTTP/2 and HTTP/3 explained by pi-e-sigma on Thursday March 14, 2024 @10:35AM (#39704565)
cmd.exe can be used with shitload command line utilities and is a full blown scripting language just less powerful than Unix bash. The analogy works just fine.
Re:HTTP/2 and HTTP/3 explained by waych on Friday March 15, 2024 @08:39PM (#39722205)
This is mixing up cmd.exe which is the dos-like (but not dos) scripting interpreter, and conhost.exe which is the actual old terminal emulator/console that the kernel would spin up whenever you ran cmd.exe.