ann-arcana

Queen of Burgers 🍔

Writer, game designer, engineer, bisexual tranthing, FFXIV addict

OC: Anna Verde - Primal/Excalibur, Empyreum W12 P14

Mare: E6M76HDMVU
. . .



cathoderaydude
@cathoderaydude

i detest powershell. i won't discuss this, there's no reason to. i am no threat to powershell, you don't need to defend it, it's obviously never going away so do not interact with this post if you don't hate powershell too, i don't want to hear it. however, every single time i've touched PS it feels like writing with my left hand. it's so indescribably backwards. it's programming but flipped 180 degrees along the vertical axis. my brain won't engage with it. i've been computing my entire life, i have experienced a hundred weird programming environments, from batch files to perl to bash to lua to python to php to asp to visual basic, qbasic, hell, c64 basic, they can be irritating and limited but they make sense. every single piece of powershell i've seen felt like a mix of "voicemail from a relative you've never spoken to who's trying to rope you into a grift" and "guy who you dread asking for help because he's going to go now you see why i keep telling you about $thing_i_never_shut_up_about :)." all powershell documentation has this thick greasy layer of "i know you hate this but i'm going to rub it's theoretical usefulness in your face and you won't be able to say that I'm wrong, just try, just try to prove that it's bad, try to show me where powershell isn't very useful, ha ha, you can't, you can't" powershell feels like a bullying sysadmin


nex3
@nex3

Powershell hits that exact nexus point of "wow what a great idea" and "wow what a baffling execution". Rationalizing shell syntax and integrating it with a wide standard library and more powerful programming paradigms is smart! But it always ends up being the worst of both worlds: things that are simple in other shells are verbose and complex in Powershell, and things that you want from a programming language use baffling shell metaphors instead of just working like C# or whatever.


NireBryce
@NireBryce

intellisense for tab completion? hell yeah.

but Get-ChildItem really does not stick in memory like List does.

even with the tab completion.

I only remember Get-ChildItem via the phrase: "listing entries is like stealing candy from a baby"

it's designed for people already waist deep in windows developer metaphors and not like, for you the user to grok.


ann-arcana
@ann-arcana

Let's not forget it was also unusably slow up until at least Win10, and I don't mean that in the usual whiny tech boy "some operations are kinda slow compared to a theoretical spherical cow distro of highly optimized Linux."

I mean unusably slow as in "just getting a fucking prompt to show up could take 10 minutes."

It's only now that it's upgraded to the other thing, where it's almost usable but then yes, actually, cat is not cat, it's actually Get-Item-Text, and there's an accidentally-quadratic string allocation bug that will 'cause it to stall indefinitely if your file is too big.

There's a reason WSL2 exists.

Mind you, PS for Linux also exists, allegedly, but no one has ever installed it, so its reasoning remains a complete mystery.


You must log in to comment.

in reply to @cathoderaydude's post:

to date i have not one single time encountered a problem i couldn't fix without powershell, and every single time i've been told that the only solution lay in powershell, what I found out is that that didn't work either, and in fact there was no solution.

i can name a single situation where i have ever used powershell and it made any sense, and it was "wrote a timing loop in it because installing python was too many steps," and that was a false economy anyway because it took me 20 minutes to figure out how to fucking write an infinite loop and a sleep statement because powershell sucks big donkey nuts

powershell feels like a bullying sysadmin for an entirely different paradigm of computer system that i do not understand, perhaps even one that cannot be understood at all. some sort of quantum computer BOFH

tbf that's how unix shells work, you don't want . at the start of your path because that allows randos to override commands after you cd, and you don't want . at the end of your path because that lets randos typo-squat on your typos.

Thanks for giving me something to send next time I get asked to use powershell for something and respond like I was just asked to lick a switch cart.

Hopefully no time soon since I only touch bash and the occasional sh shell now! Thank fuck!

a while ago for work i hand-wrote a bash script to automate deploying a certain app onto linux servers, with the initial config required to make it work with our environment. this app also needs to be deployed to windows servers, too, and i know i'll eventually have to repeat this effort for windows with powershell one day. i'm not looking forward to that day.

Ansible has Windows support these days. It bundles a bunch of pre-written PowerShell scripts to copy files, restart services, break the registry, etc. -- very handy if you (a) value your sanity and (b) happen to administer windows servers (despite the inherent contradiction with goal [a])

in reply to @nex3's post:

Powershell is a great example of the software development equivalent of bad taste: The syntax is gross to read/write and also just strange, plus it has some genuinely strange/bad decisions mixed in, like how you can't set it to abort scripts immediately on unhandled errors and doing that manually is a huge pain. It simultaneously does cool new stuff and also makes 30 year old shell scripting mistakes

in reply to @NireBryce's post:

imo Powershell would be better if it were not a terminal emulator; if instead, PowerShell ISE (yeah, that ugly thing) were dressed up somewhat like in between Scratch and Blender shader pipelines (or any box-and-link programming UI) - a visual, spatial code canvas where you concatenate commands in sequences, and arguments to the right of commands, and any pipelines or effects propagate from one to the other through flow control and pipe visual metaphors. right clicking a command, shows a context menu with any arguments or pipeline connections to make - and double-clicking a command, shows the construction code of the command - which you can change for that instance (giving it a new name) or globally (replacing all instances of that command).

in reply to @ann-arcana's post:

i used powershell for linux in order to set up appveyor build pipeline to generate windows binaries for one of my programming languages

when i started i had this fun idea of porting all my build scripts over to it

when i finished it did exactly what it needed to and nothing more and i was disgusted with myself