Does anyone have recommendations on what would be the best programming choice for a GUI that is:
cross platform
creates a professional end product
minimal required frameworks required to install on host PC
great for hardware communication (to communicate via serial with Arduino)
I'm using VB.NET at the moment, and really appreciate the ease of coding, but looking to migrate to something a bit more flexible. Was looking into Java and Python. Java as it installed on nearly all computers natively and has great support/addons, but I've heard it's a bit of a blunder when it comes to hardware (is this true?). I've also been recommended Python, but I don't know much about this.
Processing does what you are looking for and is open source and free. It is the ancestor of Arduino IDE itself, which is to say it will be familiar to an Arduino user.
Qt is probably one of the best in my opinion if you are familiar with C++ and need all the power and flexibility it provides.
Mono.Net is pretty good if you want to put up something quick. Keep in mind though, it's performance is still lagging compared to Microsoft's implementation.
Others like Python, Perl are cross-platform as well. Again, it totally depends on what you want to do...
Others like Python, Perl are cross-platform as well. Again, it totally depends on what you want to do...
You could even do standalone PHP if you wanted...
Other options would be the various BASICs floating around; things like BlitzMax:
Or FreeBASIC:
Could be viable options; I know people are going to boo and hiss me for suggesting them, but today's BASICs are a far cry from yesterday's systems. I personally believe that both of the above BASIC implementations offer a level of control and functionality similar to what one can get from C/C++; access to C/C++ libraries, inline assembler, object-oriented programming, and pointers, among other advanced options, are easily available via the above two systems. That doesn't sound like grandpa's BASIC to me...
Ultimately, though, you shouldn't be looking for only using a hammer to build your house; don't look for a single language, a single IDE, or even a single platform to get you where you want to go. Embrace them all, learn how to use them together, and your projects will be much more robust (and so will your resume).
Thanks for the suggestions everyone. Qt is a nice idea, I think I'll give that a try first. Mono and Blitzmax also look interesting, will have to read up on that a bit more. I've also heard good things about Processing, but isn't that based off Java? If so, perhaps It'd be better to learn Java instead?
This is surprisingly similar to the requirements of a project I've been working on all summer.
I'm using Java and the rxtx serial library; the same way the Arduino IDE is built. But rxtx needs a different library file for each OS so my application isn't very cross-platform :-/
What did you end up using and how's it been working out?