[pm-h] Python and Perl is Dead

John Ellyson jellyson at gmail.com
Wed Sep 17 09:00:53 PDT 2014


I've been using PowerShell for a while at work.  I'm not saying that I
necessarily "love" it, but it definitely is an improvement over the older
DOS batch stuff.

Basically, Microsoft decided to come up with their own native scripting
language for the Windows environment and created PowerShell.  They borrowed
concepts from other languages (including Perl) when they made PowerShell.

Here's some of the aspects that (in my opinion) make PowerShell better than
the older DOS command prompt environment.
    - added in regex support
    - you can pipe output from one cmdlet to another  (They call PowerShell
"commands" cmdlets.)
        -  This is true even for the cmdlets that return objects.  In that
case, you're piping objects and not just text.
    - If you set up parameters for your PowerShell scripts correctly
(instead of directly pulling from $Args), the Get-Help cmdlet will provide
some of the basic usage output for you.
    - built-in parsers for CSV and XML with the Import-CSV and Select-Xml
cmdlets
        - These cmdlets don't provide the fine tuning options that some of
the CSV and XML modules do in Perl.
    - PowerShell can natively use .NET libraries.  (This is one method for
providing a GUI interface for your PowerShell scripts.)
    - Microsoft is moving more of their products and Windows management to
be accessible from PowerShell.
    - Ability to dot source another file (e.g. You have functions in
functions.ps1.  Then in your MyScript.ps1, you can pull in and use
functions.ps1 by using ". ./functions.ps1" in your script.)
    - error handling functionalities
    - With the Start-Job and Wait-Job cmdlets, you can run stuff in the
background while your main script does other tasks and also have the main
script wait for the background stuff to get finished before moving on.
    - The Get-Member cmdlet is very helpful in digging into the structure
(methods and properties) of objects that you don't have documentation for.

However, there are (at least from my perspective) a few drawbacks with
PowerShell.
    - Prior to Windows Server 2008 and Windows 7, older Windows versions
don't natively have PowerShell installed.  (Vista might have PowerShell,
but can't say for sure off the top of my head.)
        - Depending on how old the Windows version is, I believe that you
can add in PowerShell.
    - Newer versions of PowerShell have added functionality not available
in older versions.
        - For example, PowerShell 1.0 and 2.0 do not have cmdlets available
to retrieve/configure NIC settings.  These functionalities was added in
PowerShell 3.0.  I haven't use this yet, but from what I can tell, I think
using these cmdlets would be much easier than trying to use the older netsh
utility.
    - I have found that Microsoft's PowerShell documentation has been very
difficult to find.  And when you can find it, I personally found it to be
somewhat lacking - as in not documenting or providing examples for the
cmdlet option that I'm trying to figure out how to use.

At this point, if I'm personally trying to script something in Windows and
want to use what is natively available, I'd use PowerShell.

For anyone wanting to look into PowerShell and looking for basic
documentation, here's a few links that might be helpful:
    -  PowerShell 2.0
        - basic cmdlet information --
http://technet.microsoft.com/en-us/library/dd347701.aspx
        - about topics --
http://technet.microsoft.com/en-us/library/dd347616.aspx
    -  PowerShell 3.0 and newer
        - http://technet.microsoft.com/en-us/library/hh847840.aspx

John Ellyson

On Tue, Sep 16, 2014 at 7:58 PM, Mike Flannigan via Houston <houston at pm.org>
wrote:

>
> On 9/16/2014 1:02 AM, Zakariyya Mughal via Houston wrote:
>
>>
>> Heheh, I'm still in university and I'm showing people Perl tricks that
>> blow their minds. People these days just don't use dynamic languages to
>> their full capability. They just learn the basics and stop. :-P
>>
>> I just went to Houston Techfest[*] this weekend (as I have for a number
>> of years now) and I'm mostly seeing C# and JavaScript. There used to be
>> a larger Java presence and even some Ruby, but that has seemed to waned.
>> I'm wondering, would anyone want to present some Perl there next year? I
>> think I may have got someone interested in looking at DBIx::Class.
>>
>> Also, have any of you checked out PowerShell? It's got a very terse
>> syntax. I may have to steal some of it for Perl.
>>
>> Cheers,
>> - Zaki Mughal
>>
>
>
> I didn't know I had PowerShell on this Win7 machine
> of mine.  I'm watching tutorial 1 of 5 right now.  This
> guy sure gets excited about things that don't seem all
> that cool to me, but it sure is cool to him.  He is easily
> impressed.
>
> I guess this PowerShell is a little bit better than the
> command prompt I am using now, but not much better in
> my opinion.  I really need to find a better one.
>
>
>
> Mike
>
>
>
>
>
> _______________________________________________
> Houston mailing list
> Houston at pm.org
> http://mail.pm.org/mailman/listinfo/houston
> Website: http://houston.pm.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/houston/attachments/20140917/71b54d3a/attachment-0001.html>


More information about the Houston mailing list