# Is model-view-controller useful pattern useful to build scientific simulation programs?

I work with scientific simulation, but what I like the most in programming is creating graphical user interfaces and 2D or 3D outputs to visualize the evolution of the simulations. I know most input data in scientific simulation are in text files, not in GUIs, and that more usually statistical graphs are scientifically more relevant than 3D movies. But I still can't accept I have to give up on my esteem for GUIs and 3D in science...

Do you think I should adopt the model-view-controller paradigm in my programs? Can I separate high-performance calculation from visualization using multithread, such that crashes in visualization don't affect the calculations? And sucht that I can switch from text input files to GUIs and back again to my whim. Which software do you recommend?

• Unless you multi-thread in some fashion, the GUI itself will be unresponsive as the simulation progresses until its completion, I bitterly discovered that after spending a lot of time building the GUI of a curve fitting program I made (I couldn't use commercial ones because of an integral in the expression that I had to calculate numerically). – Leonardo Castro Jan 3 '16 at 3:13