this post was submitted on 26 Aug 2023
1493 points (97.5% liked)

Programmer Humor

19623 readers
1 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Yearly1845@reddthat.com 12 points 1 year ago (1 children)

Bash came out decades ago and powershell is brand new. It doesn't really have an excuse to suck.

[–] ______@lemm.ee 6 points 1 year ago (1 children)

I hope I didn't come across as defending ps. PS sucks and whoever decided to have functions use capital case with dashes in between needs to have their brain scanned

[–] wizardbeard@lemmy.dbzer0.com 3 points 1 year ago* (last edited 1 year ago) (1 children)

I do a lot of work in PS and I don't find it that bad. But you forgot what's even dumber about their function naming conventions.

Function names are supposed to be a single word verb, then the dash, then the rest. But not any verb, you're supposed to use one from PS's list of acceptable ones which has some really weird omissions. And they break their own single word verb convention with "acceptable verbs" ConvertTo and ConvertFrom (ConvertTo-SecureString, ConvertFrom-Json), which are the only exception to one word verbs before the dash.

Function names are definitely one of my biggest peeves with it.

Additionally, their basic comparison operators are dumb as hell. How is "-le" better or clearer in meaning that "<="? -ne instead of !=, but == isn't just -e, it's -eq. And you can't slap an n in front of other comparators for not, -nle isn't a thing. You gotta wrap the whole comparison in parentheses and slap an ! on the front or slap -not in front. But don't try to do !-le, because that's also not a thing. It's not terrible but I refuse to believe that -eq is more readable than ==

[–] ______@lemm.ee 2 points 1 year ago

Functionally speaking, PS is a really good shell language. Its minor things about it that I dont enjoy. As you said, it feels like the language design has some poor decisions.