Hello!
I want to decide, which program, C#,C++, VB.net, Java or any I didnt mention, is the best to make GUI program to interface with arduino.
But, please use arguments!
Tks!!
Hello!
I want to decide, which program, C#,C++, VB.net, Java or any I didnt mention, is the best to make GUI program to interface with arduino.
But, please use arguments!
Tks!!
This should be interesting. What is the critiera you want used to define 'best'.
Lefty
I just started to use GUI in Arduino.
I know, not exist perfect program.
But I think, one to some easy to configure ports (COM), easy to configure the other hardwares (camera, servos and etc) fast to respond in real time system and other thing I forgot....
This can easily end in a religious mud sling
There's no best programming language - period.
Many factors influnce which one to choose. Do you know any of the languages already ? Do you have any specific requirements ? What operating systems will the program run on ? Is money an issue ?
My choice of language is often VB.net (or c#) but that is not because i think they are better, it's because i already know them, and have them.
Processing is in many cases a good choice because it's somehow related to Arduino, it's free, open source and there's a lot of info available for using it with Arduino, and it makes cross platform develpoment easier.
Having had such discussions from time to time during the last 40 years, the outcome between sensible persons is generally:
Use the programming you know best! And make sure you really know it!!
Note that in the area of non propriatary languages there is also a (wide) choice between different GUIs to be used - this is another area of discussion
I want to know, because I programed (not professional, just academic) C, Java, VB 6 and C#.
But, this first time Im programing with Hardware (GUI Interface). And still hard to understand. I know for example, in C make a GUI and conection with a lot of things (joystick, camera and etc) its hard. But if you use VB.net is more easy to make a GUI interface. But, again, you will have prons and cons in every program.
How I said, Im new, and I wanted to listen some people have more experience in GUI interface...
Thanks in advance!
But, this first time Im programing with Hardware (GUI Interface). And still hard to understand. I know for example, in C make a GUI and conection with a lot of things (joystick, camera and etc) its hard. But if you use VB.net is more easy to make a GUI
Well any PC programming environment that can access the PC's comm ports can be made to interface with a Arduino board. The Arduino appears as a simple comm device at the other end of the comm link. I assume that would be just about all of the existing GUIs available?
Lefty
I assume that would be just about all of the existing GUIs available?
I think what rw is saying, is that with traditional code environments (C, C++, Java), creating a GUI for your program to display and interact with the hardware via the underlying glue code is typically much more difficult than with much of Microsoft toolset (C#, VB); there, you drag and drop your GUI components onto a blank "canvas" (a "form"), then generally double-click on them, select an event method (ie, "on click, do this"), and write your code.
VB was really one the first languages that made it this simple, all the way back to VB for DOS (the iteration of BASIC that came after Microsoft PDS 7.1, which came after MS QuickBASIC 4.5). VB 3.0 for Windows 3.1 took it further, and every iteration of VB since has been similar. Drag-n-drop the controls, double-click, and the events were automatically tied in. It may things super-easy; I'm no MS fanboy anymore, but in my opinion, VB was one of the few things they got right. Granted, there were a lot of issues with VB, and it had the misfortune of the whole "BASIC" moniker, but it allowed for a lot of software to be created very rapidly, and was widely used by businesses and developers for a whole host of different software.
If they had only made Visual C/C++ as easy to use, it would've been wonderful. Instead, you had to build your forms in a separate GUI builder, then tell the builder which interfaces to export, and it would create a bunch of stub code. You then imported this stub code into Visual C, and coded your events into the stub code. It was clunky; I don't know if they ever fixed this (last I played with it was Visual C++ 5) - it was nothing like the quick and seamless process that VB utilized.
VB.NET is pretty much the same way; I would imagine (maybe, but I haven't played with it) that the other CLR languages also share the same builder, so maybe it is all that easy?
In contrast, when developing GUIs for your applications in other languages, you either code them by hand (ugh), or you use another editor to create/generate an XML file describing the layout, and if you are lucky, it also stubs the code out that you can work with. It is still a very clunky way to develop.
The closest I have seen to something like VB on any other platform has been GAMBAS:
http://gambas.sourceforge.net/en/main.html
XBASIC is another.
Most other tools rely on using wxWindows or QT, or GTK - with maybe another tool to allow you to layout and create stub code, but nothing where you can just drag and drop and click and create seamlessly; then click compile and run it - then another button to generate a nice installable file. That was where VB shined; it was quick, it was easy, it was intuitive - it just worked. You could go from idea to demo to running code - then on to a distributable install in hours. It was real "rapid application development".
With that said, rw, you might consider another option: Use DHTML for the GUI, and communicate to the Ardunio via a scripting language running on a PC acting as a web server; you could even use C/C++ if you felt like it. Build the GUI using DHTML (HTML and javascript, with some Ajax - prototype, scriptaculous, jquery, etc). It won't be easy like VB or others as described, but it will be multi-platform (as long as you can hit the server with a browser).
The closest I have seen to something like VB on any other platform
Also RealBasic, which is multi-platform.
I would tend to avoid C# and VB since they're pretty much windows-only, but I've got to agree with cr0sh that VB certainly makes throwing together a GUI really easy...
How I said, Im new, and I wanted to listen some people have more experience in GUI interface...
Very easy: choose any language that gives you a GUI interface look you like. The Microsoft tools (VB, C#, C++ whatever) produce one look, Java looks different, GTK, QT or the Apple stuff looks different again. LabView, PythonTk, Logo, Scheme and other exotics are also options. Preferably use a language you like and know best.
Do your GUI, it will be the big majority of your work anyway. The little glue code to get input from your Arduino will be your least worry.
Korman