C: \> instpkg32.exe /DefaultSettings:ALL_DEFAULTS
C: \>
Cryptically named command with verbose arguments, that then goes on to fire a GUI window that requires manual intervention: that's the Microsoft way. C: \> instpkg32.exe /DefaultSettings:ALL_DEFAULTS
C: \>
Cryptically named command with verbose arguments, that then goes on to fire a GUI window that requires manual intervention: that's the Microsoft way.Yes, it technical superior than it's counterparts on Linux by piping objects instead of mangling text, but the syntax of PowerShell is just too convoluted.
I have concluded that when doing command line you want to write commands and not program code to execute.
That's why bash is usually straight on and powerful for the 95% commands you do. It's edge cases when you need to do horrible awk piping and general guess work.
PowerShell feels the other way around. Easy for the 5% edge cases, but pain for the 95% common stuff.
Yes, you can create aliases in PowerShell for the most common tasks, but then you don't really learn the powerful mechanics that you need to know.
And it does not help that you need to learn one more scripting language. Microsoft should have gone for JavaScript.
Maybe I'm missing something in the greatness of PowerShell?
instpkg32.exe /DefaultSettings:ALL_DEFAULTS
is something that doesn't really exist anymore for management tools on Windows, except those that have been around for a long time. Even the GUIs on Windows Server nowadays just drive a PowerShell runspace behind the scenes and you can script just as easily as click around.Install-Package is a PowerShell cmdlet and thus gets sane and consistent argument parsing and discovery for free. Something like instpkg32.exe simply won't exist for a new feature here.
As for your complaints, I can gladly answer them and other questions, but it's probably a bit OT here.
Or-Do-You-Enjoy-Over-Verbose-Capitals-And-Dashes-As-You-Enjoy-Shift-Ballet?
Besides, if this is about command parameters, all that's needed is the dash and enough letters so the parameter name is unambiguous; for many common commands that's not longer than the single-letter arguments to Unix tools. And they are case-insensitive, too. No need for Shift here either.
But perhaps you do enjoy the haphazard mix of /parameters, -parameters, --parameters, /p, -p with varying ways of specifying arguments to those parameters, like /x:foo, /xfoo, /x foo, /x=foo that can be found all over the place in the default Windows command-line tools (because that's what the argument was about here). In that case, yes, PowerShell is probably a huge step backwards.
It's a relic and I'm glad they're fixing it, but as with the browser they're only delivering changes because third-party software innovated them and it's making them look bad.
How is that a bad thing? Firefox was kinda stagnant before Chrome came around and took the performance throne, I don't see anyone criticizing Mozilla for that.
Find-Package Firefox
Install-Package Firefox
I admit it's not as easy as on e.g. Debian: sudo apt-get remove iceweasel
sudo echo deb http://packages.linuxmint.com debian import >>/etc/apt/sources.list
sudo gpg --keyserver pgp.mit.edu --recv-keys 3EE67F3D0FF405B2
sudo gpg --export 3EE67F3D0FF405B2 > 3EE67F3D0FF405B2.gpg
sudo apt-key add ./3EE67F3D0FF405B2.gpg
sudo rm ./3EE67F3D0FF405B2.gpg
sudo apt-get update
sudo apt-get install firefox sudo apt-get install firefoxAlso, Linux Mint is a terrible way to get Firefox for Debian. You're better off installing it from the "Ubuntuzilla" repo, which contains just Mozilla components built for Debian-based OSes: http://sourceforge.net/projects/ubuntuzilla/ (Ignore the hellhole that Sourceforge has become).
Honestly, I wish Mozilla would just create a Debian repo (and one with Nightlies would be nice), but I understand the scorched earth there...
The example was intentionally selected to be as obfuscatory as possible, in order to be a troll. Most of those commands are about adding a repository rather than installing software, anyway (and the four lines involving gpg are usually done in a single line)