[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Systems for writing a science app front-end

Neil Pilgrim wrote:
> Hi all,
> Interested to hear what people think wrt platforms/systems in which to
> write a front-end for a console scientific app (typically long-running).
> Personally I'd be inclined to go with something like python+wxpython (or
> maybe py-gtk), but someone I know is basing one on matlab, which has the
> benefit of making plotting rather easy - at least if matlab is your
> thing ;) I've heard talk of vtk, but I'm not sure how advanced the
> python bindings are, or how flexible it is. They can compile the matlab
> code to c, although I'm not sure if that's a feature they want or
> whether its just 'in case' for efficiency. Possibly the choice of matlab
> could be related to perceived future ease of maintenance, ie.
> availability of skilled programmers for it in future.
> I'm sure people have come across this type of situation before, but what
> I have in mind is something which makes scientific simulations easier to
> use. This might include making input of key parameters more
> self-evident, perhaps even including some gui design. It'd also be
> useful to have results feed in, maybe as they are generated, perhaps
> even a simulation progress-tracker.
> What would people recommend?

I use C++ + wxWidgets for the apps that run my (theoretical optics) simulations.
 I chose wxWidgets for writing the GUI mainly because it is available for
windows too, and this allowed me to cross-compile my code into windows .exes for
people in my group who don't use linux.

I decided to switch to a GUI interface precisely to make it easier to see which
parameters were being changed when, and so I could easily do things like keep a
running count of the simulation results (I mainly deal with longish iterative
algorithms) and draw graphs representing the state of the system.  I'm sure
there are other things that would work as well, though, especially since qt is
now better licensed.


Reply to: