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

Is it widespread? I've never seen anyone else using powershell 'in the wild', admittedly for the last 3 years I've mainly worked alone, but I still see people using CMD scripts.

I usually get frustrated with it and bash out a quick cmdlet instead.



CMD is the worst language I ever saw. It's full of hacks for simplest tasks. The only reason I'm using it is for old systems where PS is not preinstalled.

I used PS to write small scripts and I actually like it. I'm more fluent with bash, but that's only because I used bash a lot. PowerShell feels more robust, no silly space-in-filename problems, no silly parsing of text output to access fields. May be it's ugly for big scripts, I don't know, for me it looked like a vastly superior version of shell.

I would love to learn why people think that power shell is ugly, especially comparing with bash.


For me the big problem is that I know it can do loads, but it's not C#. So between the awkward wait for it to boot, the stupid naming convention, and the knowledge that the whole power of the .net framework should be at my finger tips, but in a really alien and unintuitive way, I prefer to either write a really small bat, or write a small C# console app.

And so I never become comfortable with it, even though I've tried several times since it was released.

The newer IDE is pretty good too.

But C# shows what it could have been if they'd had a talented language designer do it (which no-one can determine if someone is beforehand I admit).

I just wish they'd admit defeat and just use a subset of C# instead of stubbornly sticking with something that seems fairly widely loathed.


"I would love to learn why people think that power shell is ugly, especially comparing with bash. "

I don't think people compare it with bash, but with more modern languages.


One criticism I've seen and levied myself is the sheer amount of typing:

[PS] C:\> Get-MyReallyLongFunctionName -Server furtle

$ lol --floop

PS is fine but it takes ages for the bloody thing to wake up and notice command completion. It is like dealing with a teenager in bed.

Actually, I have no problems with PS but with MS's idea of search as deployed to users.

(I run KDE on Arch. Search is faster than I can blink)


Verb-first was also a bad choice. When I type “get” I am getting thousands of suggestions which makes autocompletion pretty useless. There is also no way to find all cmdlets that deal with active directory. It would be much better if I could type “AD” first and then get all cmdlets that deal with active directory.


Try:

  man *-AD*


You want Get-Command here, usually, not Get-Help.


I don't think it's that bad. Better than bash where every command has is either something archaic or just what whoever wrote it wanted it to be. It better resembles English than the other way around. Plus you can use "get-command "something`" which gives you everything that contains that string, or search for a certain provider for all commands related to a specific thing.

Autocompletion still works, just type first letter or two after get and filter most stuff out.


Powershell was made to allow launching arbitrary programs with redirections and pipes. That's why some language choices were made and that's why I'm interested in comparison with bash.


sysadmins who are fully invested in the MS ecosystem do use it a lot. People doing cross-platform work, don’t.

In terms of wider adoption, it suffered by maturing at a time when a lot of people had moved on to more powerful devop solutions. And of course, being MS tech (although technically it was acquired), it carries a stigma.

I just found it un-intuitive, ugly, and verbose. Compared to my beloved python it looks really really bad.


PowerShell is cross-platform these days.


I don't believe PowerShell was 'acquired' - it was built in house. I can recall reading the MSDN blog posts about its development way back when.


I probably write a few lines of Powerhshell every day. All my automation is done in Powershell, including bringing up new Amazon AWS instances, etc.


It’s pretty widespread if you have to do sysadmin scripting. There are a lot of useful cmdlets. I am embarrassed to admit that I also run it on my Mac with good success.


bash out

Freudian slip?




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

Search: