Currently, there are two major commercial vendors of GIS Software (GE and 
ESRI). GIS applications are big. They have a startup time of about 10 to 20 
minutes. So GIS programmers prefer to be able to change code dynamically, not 
having to restart every time.

To do this, both of them use a virtual machine. ESRI uses .NET and GE uses 
Magik, a homebrewn language and VM. The most critical functions are implemented 
in C.

However, both of them use old-fashioned approaches (The GE application stems 
from the pre-Windows 3.0 era, but is the most efficient of the two). I'd like 
to start with some serious redesigning. I've been looking into D, but since D 
doesn't allow me to dynamically change behavior, it most likely requires a VM. 
Currently, I've been looking into miniD and Ruby as possible languages that 
could do what I want.

Currently, there are the following issues:

Database - GIS applications need a GIS oriented database, able to store and 
perform calculations on coordinates, lines and polygons.

Database triggers/constraints/stored procedures - User defined functionality

User application - An application with custom windows, dialogs and menus to 
interact with the GIS database(s)

On top of that, D is at version 2, whereas Tango is at version 1 of D. I'm 
still in doubt whether Phobos would be better than Tango. If so, miniD would be 
ruled out. If that would be the case, there needs to be a proper binding 
between D and Ruby.

Any ideas...

Reply via email to