Comparing PowerShell to Linux User Manipulation
-
Bash's strengths come from how little scripting language it has, for example. Bash is a shell that does shell duties extremely well and is totally garbage for scripting. That's what Python, Perl, and other languages are for. They are amazing scripting languages that are not shells.
On Windows, what people wanted was a good shell. What MS provided was PowerShell. If PS is supposed to be for scripting, that's a bigger problem because we still need a good shell. But we already have good programmatic support, so what problem is PS solving? None, it seems, just creating problems.
-
@scottalanmiller said in Comparing PowerShell to Linux User Manipulation:
That's what Python, Perl, and other languages are for. They are amazing scripting languages that are not shells.
Yeah MS knows this and is why they have both PowerShell and Python runbooks for automation in Azure.
I was looking at converting some things to Python actually, at first just to see if there were any performance differences in those.
If so, I was going to do PowerShell / Python both side-by-side, but haven't said anything yet on here. There are some PowerShell-only requirements I have, so there's no getting away from that. But Python in the very short-term is probable.
-
@Obsolesce said in Comparing PowerShell to Linux User Manipulation:
I was looking at converting some things to Python actually, at first just to see if there were any performance differences in those.
I would not expect so. Or if there is, PS is probably the faster.
Almost certainly for a tiny script, Python will be faster because it is so light. Once you do any amount of stuff PS is likely to be faster because of its JIT compiler.
-
@scottalanmiller said in Comparing PowerShell to Linux User Manipulation:
@Obsolesce said in Comparing PowerShell to Linux User Manipulation:
I was looking at converting some things to Python actually, at first just to see if there were any performance differences in those.
I would not expect so. Or if there is, PS is probably the faster.
Almost certainly for a tiny script, Python will be faster because it is so light. Once you do any amount of stuff PS is likely to be faster because of its JIT compiler.
Some of it is with some large API handling between MS Graph and third party services that I haven't mentioned anywhere. Would that make a difference? Do you think it's worth comparing?
-
What's odd is that MS seems to push so much on "scripting" on one hand, but is so completely dedicated to compiling on the other. I think it shows a big lack of coordination from their engineering teams. Their programming team makes C# and F#, both of which are fantastic, but they offer no scripting platform.
Then on the other side of the house they have scripting-only from PowerShell and CMD.
Where is the enterprise scripting platform that we would expect? It seems like a massive gap in their programming platforms.
-
@Obsolesce said in Comparing PowerShell to Linux User Manipulation:
Some of it is with some large API handling between MS Graph and third party services that I haven't mentioned anywhere. Would that make a difference? Do you think it's worth comparing?
I think the only reason that Python would exist there is...
- People who already know Python and don't want to learn something else.
- People who are making a single tool to span platforms.
If PS meets your needs, it is probably as good or better for that need.
-
This is where Python is interesting on Windows...
-
@scottalanmiller said in Comparing PowerShell to Linux User Manipulation:
@Obsolesce said in Comparing PowerShell to Linux User Manipulation:
Some of it is with some large API handling between MS Graph and third party services that I haven't mentioned anywhere. Would that make a difference? Do you think it's worth comparing?
I think the only reason that Python would exist there is...
- People who already know Python and don't want to learn something else.
- People who are making a single tool to span platforms.
If PS meets your needs, it is probably as good or better for that need.
I see, that may be the case.
On the other hand, it's so nice being able to handle all that info via objects. It makes it so easy to deal with. Doing it in Python I think would require a lot more work, and because of that it may not be worth it for the company.
-
@Obsolesce said in Comparing PowerShell to Linux User Manipulation:
On the other hand, it's so nice being able to handle all that info via objects. It makes it so easy to deal with. Doing it in Python I think would require a lot more work, and because of that it may not be worth it for the company.
I would expect this to be true, that the learning curve would be higher. At least at this point coming from a PS background rather than a Python background. But Python is object oriented and runs on .NET just like C# or PowerShell. So in theory it should handle the objects just the same.
-
@scottalanmiller said in Comparing PowerShell to Linux User Manipulation:
@flaxking said in Comparing PowerShell to Linux User Manipulation:
It interesting to think about, one complaint about Linux is that it has fragmented off into tons of different distributions, however it's has managed to keep a lot of the tools standardized across them all.
That's very true. It's even moreso than that. Many of those tools remains standard across not just operations systems, but OS familys, too. AIX, Solaris, BSD, Linux... all those families tend to share a lot of tooling.
OSX even has kept mostly uniform with the command set from UNIX. It's surprisingly nice. I'm appreciating OSX more because things are easier to repeat over and over and to do things remotely.
-
@DustinB3403 said in Comparing PowerShell to Linux User Manipulation:
@scottalanmiller said in Comparing PowerShell to Linux User Manipulation:
@flaxking said in Comparing PowerShell to Linux User Manipulation:
It interesting to think about, one complaint about Linux is that it has fragmented off into tons of different distributions, however it's has managed to keep a lot of the tools standardized across them all.
That's very true. It's even moreso than that. Many of those tools remains standard across not just operations systems, but OS familys, too. AIX, Solaris, BSD, Linux... all those families tend to share a lot of tooling.
OSX even has kept mostly uniform with the command set from UNIX. It's surprisingly nice. I'm appreciating OSX more because things are easier to repeat over and over and to do things remotely.
Yeah, even with how rough many things are in OSX, their shell and command sets are definitely one place where even Apple is keeping ahead of MS.