Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Powershell seems like you have to have a browser open to accomplish anything. Inexperience sure, but nobody could learn enough Powershell and remember it to be productive.

I could level exactly the same criticism against Unix shells, as someone who has used them for over 10 years. I usually either can figure out the command easily, or I have to Google for a Stack Exchange answer.

That said, I agree with your point about the GUI. It seems to me that at some point during the past decade, Windows has gone from an environment where everything is configurable with a GUI and maybe a registry key, to an environment so heavy on mandatory CLI usage for configuration that it's becoming indistinguishable from Linux in this aspect. To be clear, this is a bad thing for those who prefer the GUI approach.

I understand that you see PowerShell's divergence from Unix-ness as something weird, but really I think that an (optionally) structured data output format cannot come to Unix soon enough. Parsing things with tr, awk and cryptic command line switches is a notorious Unix weakness that PowerShell (and some native Linux shells) solves quite easily.



Yes, it is just familiarity that makes Powershell seem weird and Unix shells are notoriously cryptic, coming from a background where saving keystrokes was important so all those criticisms are definitely valid.

I still miss that GUI though, when I context switch between a Unix box and a Windows box and then I'm suddenly confronted with some Powershell task, it always make me sigh a little, not least because my old noodle has trouble parsing Powershell as readable. Here's a bit of Powershell I use to go through an Outlook mailbox to look for some stuff (just a snippet) and the where-object and new-object things with dashes in the middle instead of underscores just make it harder to understand. Especially when you have where-object and then you have -eq in the same line.

$account = $namespace.Accounts | where-object {$_.DisplayName -eq "smackeyacky@nowhere.com"}




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: