[GRASS-dev] Handling of Python scripts on MS Windows

Glynn Clements glynn at gclements.plus.com
Wed Apr 9 09:08:03 PDT 2014


Markus Metz wrote:

> > In spite of wxGUI, GRASS remains fundamentally a collection of
> > command-line modules, more like a library than an application.
> 
> I make use of this property daily. On MS Windows, GRASS should by
> default behave like a stand-alone application. You can make use of the
> collection of command-line modules through the msys shell, but that is
> really only for power users.

You can use any shell. On Windows, there's no particular reason to use
MSys. It's more powerful than cmd.exe, but also has a lot of drawbacks
(MSys doesn't register it as an interpreter for the .sh extension, it
requires Unix-style pathnames, it doesn't honour file associations,
etc).

We certainly shouldn't be bundling MSys with GRASS 7. A very large
part of the reason for the switch to Python was to eliminate that
particular dependency (the remaining part being that, on any platform,
Bourne shell is simply unfit for "scripts" which need to perform
non-trivial data processing themselves, as opposed to simply gluing
other programs together).

If a script is trivial enough not to prefer using Python, it's trivial
enough for cmd.exe.

> > These are self-contained GUI applications. Which is a major
> > limitation; if I need to manipulate images, I'm more likely to use
> > NetPBM or PIL/NumPy than GIMP (on any platform). Apart from anything
> > else, the job will be over and done while GIMP would still be showing
> > the splash screen.
> >
> > If I'm likely to perform the same operation more than once, I'm *much*
> > more likely to use the scripted approach than the pointy-clicky GUI.
> 
> As an experienced *NIX user, yes. Not so Windows users, many feel
> alienated by a command line. On Windows, GRASS should behave like a
> self-contained GUI application. There were even suggestions to remove
> the command line interface completely from winGRASS because it
> confuses users.

Such suggestions are entirely misplaced. The end result would be so
watered-down as to make GRASS almost useless.

It's clear that we're never going to agree on this. You're willing to
substntially cripple GRASS in the hope that it will be usable by the
"... For Dummies" crowd, and I'm not.

And I don't even think that such a goal realistic. However much you
simplify the program, you can't simplify the underlying concepts. It
has been noted that the "For Dummies" series doesn't include
"Neurosurgery for Dummies", "Civil Aviation for Dummies", or the like.

Do we really need more users who not only don't know which projection
their data is in, but don't even know what a projection is? And,
regardless of how much the interface is simplified, is GRASS even
going to be of any use to them?

tl;dr: if you want Google Earth, you know where to find it.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list