Hi everyone, I would like to ask for your opinions on a matter regarding:
"the better language to use for auxiliary programs for arduino"
In general point of view
and not depending on a specific purpose/use of an arduino auxiliary program (so it may be either for controlling arduino / monitoring or other purposes),
which from Visual Basic and C# is better to use ?
I searched for differences between these two, but I just want to hear it from real arduino users from this forum . Thanks in advance for your responses.
c# is c++ done right. It's very clean, and very functional. VB is an abomination. It is the Edsel of programming languages. The syntax is an unholy mess, courtesy of 20+ years of constant mutation.
I use Processing to display, analyse and save data from sketches. Processing is close to the Arduino language and is free to download. I have used VB and would rather shoot brake cleaner in my eye than use it again, after learning C++ and Processing.
I would prefer C++ or Java, but after about 5 years of trying, I have never got either of them to talk to the serial port on the computer. So, Processing, it is.
The OP's question was to choose between VB or C#. I have experience with both, but I think the transition to C# makes more sense if you're going to be working with the Arduino and Visual Studio. At least C, C++, and C# have many similarities.
I know Python wasn't an option in the OP's OP, but I certainly enjoyed learning it and used it for serial comms in both directions with Arduino. Dead simple, and good graphics.
(The fact that I've been a fan of Monty Python since 1974 may have had a bearing on my choice though.)
westfw:
One of the nice things about Arduino is it's cross-platform support. Linux, MacOS, AND windows.
Neither VB nor C# is easily cross-platform...
I agree. Any advantages C# might have over C++ will be lost when you try to run on Linux or Mac. Plus you need to pay for Windows, whereas you don't have to pay for Linux.
Years ago I wrote a MUD game client using Microsoft libraries. They certainly simplified the initial development, but today, when people are asking for Linux/Mac versions, it is basically impossible to port it. A rewrite is all I could do. I bet Microsoft aren't (isn't?) displeased about that.