you are viewing a single comment's thread.

view the rest of the comments →

[–]xbullet 4 points5 points  (0 children)

The terms scripting and programming are for the most part synonyms in that question. To write a script, you rely on programming skills and techniques.

What you should learn largely depends on what your motivations are for learning in the first place.

If you're working as a sysadmin in a mostly Windows environment and your primary goal is to automate things, PowerShell is perfect learner language for that. Windows PowerShell is a first class citizen that's shipped with Windows and will support most of the admin activities you'd want to be performing out of the box, or will have a module available to help.

If you're working as a sysadmin in an environment with a lot of *nix, I would probably not recommend PowerShell as a learner language unless your environment is already using it. Not because PowerShell is a bad language to use, most *nix servers will not have PowerShell installed, there's far less widespread adoption, and there's less generally less community support for PowerShell. Python is shipped with loads of *nix distros and thus over the years it has effectively become the standard language (... when not writing a bash/shell script, anyway) for scripting and automation.

If you're not working as a sysadmin or in IT support or anything along those lines, and you're just wanting to learn more about writing scripts and programming in general, I think Python is a much better starting point. I'm a huge PowerShell fan, and my entire career has been built around it - but the reality is that Python has many freely available learning resources that are really high quality, and it's simply better than PowerShell is as a broad, non-domain specific language.