[GRASS-dev] GUI toolkits

Trevor Wiens twiens at interbaun.com
Mon May 29 00:59:33 EDT 2006


On Sun, 28 May 2006 13:01:25 +0100
Glynn Clements <glynn at gclements.plus.com> wrote:

> 
> Trevor Wiens wrote:
> 
> > As you may recall this question was asked some time ago and the general
> > feeling was that a separate GRASS GUI was desirable. The main reasons
> > stated for that as I recall were:
> 
> [snip]
> 
> > 2. GRASS is primarily written in C so if we want to use a compiled
> > language, C would be the natural choice.
> 
> This is only relevant if the GUI actually links to GRASS libraries,
> which isn't necessarily a good idea. The design of the GRASS libraries
> doesn't really lend itself to persistent applications.
> 

I know and have quoted you recently on this issue.

> Integrating C and C++ code isn't particularly hard; one of the key
> design goals of C++ was compatibility with C. The primary objection to
> C++ is that it tends to be much harder to "dip into" C++ code than C
> code, even if you're equally fluent in both languages.

I was thinking more in terms of using a single language for
development; adding languages adds complexity to the maintenance of the
application. Right now we have two (C++ modules excepted), one compiled
and one interpreted. From my experience and reading this is generally a
good idea of keeping code that needs speed in C and put the front end
in something that allows for easy development and modification. C++
doesn't help on either front, so it is probably a non-starter. Of
languages that are available, suitable for the task and easy to
maintain, we don't have a lot of options other and Ruby, Python or
OCaml. I don't know however if there are cross platform tools
available for Ruby or OCaml, further how many people are familiar with
those tools. I suppose I could also add Objective C to the list, but
again there are availability issues and a dearth of developers. As I
see it now, after all the discussion on this list over the last 6
months we have two reasonable choices; develop the next GUI for
GRASS using C, which pretty much means GTK AFAIK, or Python.

T
-- 
Trevor Wiens 
twiens at interbaun.com

The significant problems that we face cannot be solved at the same 
level of thinking we were at when we created them. 
(Albert Einstein)




More information about the grass-dev mailing list