On 9/5/05, Charles Plager <cplager+news / physics.ucla.edu> wrote:
> Austin Ziegler wrote:
>> On 9/4/05, Robert Klemme <bob.news / gmx.net> wrote:
>>>If you mean the command line shell: cygwin - there's even a Ruby package
>>>that you can install.
>> That's not a good replacement. It's substandard, at best.
>>
>> Frankly, cmd.exe is a lot better than most people think that it is.
>> I've never needed anything else, and prefer using cmd.exe than
>> cygwin/bash on Windows.
>>
>> Cygwin is a wholly unacceptable answer for a variety of reasons, but
>> mostly because it tries to impose a totally different way of thinking
>> on a system that doesn't map well that way.
> This depends a *lot* on whether you are coming from the unix world or
> from the windows world.

Not at all. I personally find it mostly matters whether you have a bias
against Microsoft and cmd.exe more than anything. See, a lot of people
are confusing two different things. The first is the shell and the
second is the shell/terminal window. In Windows, they are combined, but
on Unix they are most certainly not. Compared to rxvt, then it is fair
to say that the cmd.exe window is substandard. Compared to xterm, then
the cmd.exe window is looking pretty damned good.

As far as the quality of the shell itself is concerned, then there's
additional considerations. The claim is that the batch language isn't
turing complete. I don't think that this is true as of cmd.exe, but it
is certainly limited (and has some annoying limitations) especially in
the way that some programs work slightly differently. As far as grep et
al. are concerned, there's no reason to *not* have those on a Windows
system. (I tend to use GUIfied versions that are far better, but ...)

That said, in most respects, cmd.exe is comparable to bash. Bash
certainly has a few more tricks up its sleeve compared to cmd.exe, but
it also comes with its own assumptions that *do not map well to
Windows*. One of the *dumbest* things that happens in Unix and Unix
shells is that the filesystems are case-sensitive instead of
case-preserving. Cygwin compounds this by not making the default bash
installation case-insensitive for tab completion. Cygwin further tries
to put a Unix filesystem view (unified filesystem, after a fashion) on a
fundamentally different filesystem structure. It meshes very poorly.

> Running an xterm or rxvt (or even tabbed mrxvt's) from cygwin is as
> good as running it from linux.

Not in the least. It runs slower and you still have to deal with the
Cygwin filesystem mistake.

> You have the standard X-windows copy (i.e. highlight) and paste (i.e.
> middle mouse button or shift-insert from the keyboard).  Access to the
> standard unix editors - emacs, vim, nedit.

I have access to vim/gvim from cmd.exe. I wouldn't be caught dead using
emacs (even if Matz chooses to use it, vim is better), and nedit sucks.
IMO. But this is a shell holy war waged by people who don't actually
know what they're talking about, not an editor holy war.

By the way, I *do* know what I'm talking about, having used DOS, 4DOS,
4NT, cmd.exe, sh, ksh, csh, tcsh, bash, and zsh. I've also used
mainframe shells and the VMS shell and even played with Monad (I felt it
was excessively verbose, but an interesting idea).

When I'm on Linux, I will use bash. (For a variety of reasons, I try to
do so on AIX, Solaris, and HP-UX, too, although ksh is acceptable.) On
Windows, I simply use cmd.exe because that's what is native. If it's a
machine that I have control

> The cmd.exe window on XP, while better than dos-based Windows, doesn't
> provide a decent copy-paste mechanism (and yes, I know about
> quick-edit and insert mode) nor allow useful fonts, as well as many
> other short comings.

Name them, if you can. Your statement about copy/paste is incorrect --
it *is* a good copy/paste mechanism. I use it to *great* effect daily,
whereas I fight with (and have always fought with) Linux terminals
trying to be too smart about selection. The only one I like is the copy
selection of screen. And I really don't know what you mean about "useful
fonts". Lucida Console (the TrueType option provided) is an excellent
font that I miss when I am stuck on Linuxes that have bad fonts (which
is most of them).

> If you're from the Windows world and have no plans to go to
> posix-land, then maybe one of the other windows suggestions is what
> you're looking for (although, please don't stop at cmd.exe).  If,
> however, you're either from the 'real' world or planning on going
> there any time soon, I *highly* recommend Cygwin.

And, on the other hand, as someone who swaps between POSIXland and
Windows-land daily, I highly recommend using Cygwin *only* for Xterm
access to remove Linux/Unix computers. It works like crap for nearly
everything else, and it doesn't mesh well with Windows (some of this is
fixable by better default values, but some of it is completely unfixable
because of bad ideas in the core).

Remember, I'm not saying that it's perfect. But it's a damn sight better
than trying to use Cygwin on Windows as one's normal shell or terminal.

The "real world" comment is garbage. When 90% of the world runs on
Windows, there's no call for that sort of bigotry, unless you're just
being an ass.

-austin
-- 
Austin Ziegler * halostatue / gmail.com
               * Alternate: austin / halostatue.ca