Hey again everyone! I might be opening a can of worms here by asking for advice on the topic, but I really am at a crossroads and would love to hear everyone's feedback and experiences.
I've been programming in C for years and years now -- I would say I'm at the 'advanced' level, but probably not 'guru'. I really love the language, I've done tons of projects with embedded microcontrollers and it's all been merry and great fun.
Where I have little experience is in interfacing with PCs. I use both Windows and Linux, and don't really care which OS the solution comes under, though I suspect it may be easier in Linux. I really want to be able to
quickly (and that's the key) whip up a GUI on my PC which can access some sort of hardware to communicate with a prototype board (be it through USB, serial port, even parallel -- the interface doesn't matter, as long as it's relatively easy to access, with or without OS libraries). I just want to be able to send information back and forth, for example click different buttons which send commands to the uC, which then sends data back to be displayed in a box. In my head this all seems so simple....
So, what I'm really wondering is, which language would suit this best? I know that these type of questions can really get the fanboys going (myself included, when it comes to C anyway) but I'm looking for honest answers. I've looked at C++, Java, and Python mostly, though there are libraries for building GUIs with C (FLTK, GTK+, QT, etc...) and most of those have interfaces for the above languages.
The real kicker here is fairly rapid prototyping. I know that, for example, TI's Code Composer Studio comes with something called GUI Builder, which is supposed to do exactly this, and while it sounds appealing I'm not sure how standard it is, or if it's at all easy to use, though I might look more deeply into that. I know (or at least the fanboys have told me) that Python can be really great for quickly throwing together code and getting something working. I'm not a huge fan of Java, but honestly if it offers a good solution here I'd be willing to look at it.
I'm basically going to commit to learning a whole new language. Naturally, I've sort of been leaning towards C++ as most of my IDEs will support C++ as well (especially GCC of course) but again, it could go either way -- I'd even stick with C if it'll do the job. I know that Python has a million and one libraries, so I was kinda hoping there would be both a GUI library and a UART or USB library... So, it boils down to:
1) Quick and easy to prototype with
2) Decent graphics library (though nothing too advanced)
3) Easy access to the PC hardware, whatever port or protocol used
So, I'm holding my breath, and waiting for the impending explosion

Really curious to hear what people have to say!