I agree that C++ is a good choice. You might also consider Python. It's portable and easy to use and many robots come with an application interface for Python.
Instead of going for programming languages, you can try for LabVIEW software which is user-friendly, just as, Visual Basic. Just drag and drop methodology. :)
It depend on the robot and the way you'll working with. Some of manufacturers give solutions for that. -I've seen it by ABB I think.
I considered similar problem (visualization of robot position for precise positioning) last month (didn't started yet), and I think it's good to use C++ app written with Qt, and then to use some Android tablet (wireless conection with the PC or robot controller) with GUI-app that you can place everywhere close to the working place to visualize the necessary parameters even when precisely positioning the robot with the control-handle.
I agree that for 'not-so-mobile' solutions LabView or even Python are good too. And what kind of interface with robot do you have?
Of course the final decision depends on what type of GUI you need.
If your first requisite if that should be as portable as possible, then I suggest you to use the Qt library. It has more than twenty years of building cross-platform GUI library, and recently it has been officially ported to iOS and Android (making it possible to use your GUI on smartphone and tablets).
There is also a python binding PyQt that make it very easy to build GUI interface with the possibility also to use all libraries written in python for robotics (there are a lot out there).
Finally, Qt introduced a new way to create GUI that it's very easy to understand and it allow to write a GUI very fast respect to the standard C++ way.
I would like to inform to Mr. Yannis Kaveos that, In LabVIEW 2013 version, you can even go for portability issues through FPGA modules with the myRIO DAQ card supplied by National Instruments. Recently Web server access have also been included :)
Yes indeed. Labview also supports ARM, and DSPs. But the performance from some "straightforward" transfer of controllers in Blackfin and ARM was not so encourging, from my experience. Also Linux support is trivial unless you end up recompiling specific kernels to get decent performance.
Again, in some tests i did using control through serial interface on WinXP, the performance was in par or better than Linux Realtime + C..!
If for example the robot had a specific PC connected to it (e.g. Windows) then Labview's web server is the easiest way to share between cients
We had this setup running for students laboratory running controllers (PID) and some image processing for robot tracking, remotely (heavy usage!)