Effectiveness of C++ for scientific computing?

I know this question might have been asked before, but I haven't found any satisfactory answer as of yet. Is C++ effective as a language for scientific computing? How easy it is to create GUIs from simple command line programs in C++ compared to python? In python, I think TK can be used, but what are the steps to go about to do that in C++? And, in terms of speed, where does C++ stand compared to Numpy? I know that C would be faster, but what about C++?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Try Blitz++. It's nearly as

Try Blitz++. It's nearly as fast as Fortran.

I've tried blitz++ and for

I've tried blitz++ and for some reason my programs run slower with it. Is it because blitz++ was designed for gcc 3.4? I used gcc 4.3. Also, the last blitz++ version was released in 2005. Isn't it a bit outdated?


This sort of question is relatively off-topic for LtU. Please try to keep in mind the general guidelines discussed in the FAQ and related documents.

Sorry about this. I didnt

Sorry about this. I didnt realize it.

No harm done. We try to keep

No harm done. We try to keep the discussions on a more general level. The general question you raised is on-topic, of course.

A general point

Developing a GUI and performing scientific computing are entirely different tasks and there's no need to stick with one language. Writing numerically intensive, or graphics heavy code in a language close to the metal and then exposing it to a scripting language seems to be a powerful strategy. There's some discussion here on how to go about doing the binding.

Getting down to specifics, I've had great success scripting numerically intensive graphical C++ code with boost::python.

Thank you

Thank you very much. I think this is just what I wanted :)