> One would hope, but alas! Perl was notorious for being write-only back in the day.
I don't agree that's a valid rebuttal, as the operative word is the weasel copout "know what they are doing".
> PoSh is closer to read-only for most devs.
A read-only language is a language with a serious expressiveness problem. In contrast with, say, Python, which you need to go way out of your way to write code that's hard to understand.
Let's try a precise quality comparison, more for fun than anything. We have established someone knowing what they're doing makes any comparisons meaningless. I imagine you would agree with me that someone who "only kind of knows what they are doing" is even less helpful (what do they know? what do they not know?). So our last option is someone who does not know what they're doing, at all - they've never programmed before in their lives.
How many minutes of study would it take for them to decipher what a PowerShell program taken at random from the world of all programs written and used by human beings is actually doing? How about a Python script? How about a Perl program?
Most complete programs are short. Most complete programs do not use complicated data structures or algorithms. And most complete programs do something relatively simple, but useful to the writer. So one would expect T(PoSh) < T(Python) < T(Perl). I sympathize if that makes you groan.
Now, how many minutes of study would it take for them to write and use a PowerShell program, versus a Python program, versus a Perl program? Our hypothetical knows-nothing person is statistically probably running Windows, to start. That cuts down on the time needed to fiddle with installation - PowerShell is right there, whereas someone totally new to this could easily lose a week just trying to get either of the other two installed and running for the first time. That's probably going to swamp the calculation.
After they've got it installed, they will likely spend a lot of time Googling or GPT-ing around for code that already does what they want. This is likely to be straightforward no matter which of the 3 we're working with. But they will almost certainly need to tweak it somewhat to get it to perform exactly what they want to do. This is going to be tough in any of the above languages. The readability of PowerShell would probably let this person figure out how to tinker with it relatively quickly.
After they've written a few useful programs already, sure, they might want to switch to something else - but probably not; most people have better things to do with their time than rewrite something that already works. More importantly that moves them from "doesn't know anything" to "kind of knows what they're doing", which is not a category of people we can reason about in general - although, if we were to reason about this person in particular, it seems reasonable to suspect that whatever tool they started with would be the tool they would stick with, especially now that they've paid the one time cost of actually getting it installed and working on their computer.
> most people have better things to do with their time than rewrite something that already works
These people just went from "never programmed before" to "knowing how to program" - I doubt people that made an investment like this would "stop to the first tool" because "it works". Sure, they might not rewrite something that works, but they would wonder "is there a better tool to do the job?"
You can of course target "what is the minimum I can do on this and then be able to focus on my job" and never worry about other issues (could I have done more? could I have done better? is it extendable? is it maintainable? etc.) but that is more about how you view "your job". If you are a doctor and your job is "heal patients" then learning another programming language is not your job. If you are someone maintaining some tool written in a specific language, then learning another programming language is not your job. If you are a software engineer that can solve multiple problems, wondering if you should know another programming language is part of your job.
I don't agree that's a valid rebuttal, as the operative word is the weasel copout "know what they are doing".
> PoSh is closer to read-only for most devs.
A read-only language is a language with a serious expressiveness problem. In contrast with, say, Python, which you need to go way out of your way to write code that's hard to understand.