VB or C#?

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.

Regards,
Ray L.

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.

Python.

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.

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...

which from Visual Basic and C# is better to use ?

The one you know best.

My vote would be for Python because it is cross-platform and simple.

Java is cross-platform, but not simple.

It's a while since I used Windows but I thought VB and C# were the same body dressed in different clothes.

...R

Answer is C++ for me.

Therefore C# ...

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.)

The fact that I've been a fan of Monty Python since 1974 may have had a bearing on my choice though.

I was going to comment that it was a shame that there was not a programming language called Monty, but guess what ? The Design of Monty: a Programming/Scripting Language

It does not seem to have caught on 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.

I agree with Nick and westfw, go with C++ or Java and make sure you have versions for Windows/Linux/and Mac.

In todays market, if you are going to release the product, you really need a version for all three.

c# has been available for years on both Linux and Mac....

Regards,
Ray L.