More information about the Underscore mailing list

[_] Your Favourite Software For Windows XP?

Jan Grant jan.grant at bristol.ac.uk
Thu May 1 16:59:26 BST 2008

On Thu, 1 May 2008, Richard Price wrote:

> 2008/5/1 Matt Hamilton <matth at netsight.co.uk>:
> 
> >
> > Woohoo! Welcome to 1978 :p
> >
> > *ducks*
> >
> > http://www.shell.ir/Bourne-Again_shell.php
> 
> 
> You see, this often comes up - PowerShell is, in my opinion as a
> historically heavy Bash/Ksh/Csh/tcsh user, a step above the shells I use on
> Unix precisely because of its object orientation basis and the fact that it
> can incorporate the .Net framework in any shell script you are writing (an
> example - accessing SQL Server via ADO.Net, getting a SELECT result set and
> iterating through that result set was something like 4 or 5 lines of code in
> PowerShell).  I wish PowerShell was available on other platforms, it would
> replace Bash on my systems fairly quickly.

It's one of those things that unix is either (depending on your point of 
view) hampered or powered by the "everything is a stream of bytes" point 
of view.

There are alternatives that offer more structure over the top - eg, 
xsltproc, and command-line tools that embed xquery and xpath; but in the 
unix world they're not ubiquitous so we still see the "fit it all into 
lines" approach.

The powershell stuff is certainly interesting - it's not the first 
implementation along those lines, by a long chalk - I think the biggest 
disappointment is that that the object approach doesn't sit well with a 
byte-oriented filesystem. However, that's perhaps less of a problem 
since windows itself doesn't tend to do much with files(!) - by which I 
mean, config, state, etc, is wrapped up into COM-style objects.

It's hard to find an interactive "fit" between the shell style and a 
more object-based approach. I think in that regard powershell doesn't do 
badly.


-- 
jan grant, ISYS, University of Bristol. http://www.bris.ac.uk/
Tel +44 (0)117 3317661   http://ioctl.org/jan/
( echo "ouroboros"; cat ) > /dev/fd/0 # it's like talking to yourself sometimes