[SOLVED] Arduino language

curious48:
"I have an Arduino that I program in Arduino using Arduino" seems fine to me?
I read this as:
"I have an Arduino-compatible board, that I program in the Arduino [redacted], using the Arduino IDE".

You have just made up your mind, haven't you? Every single person on both threads has told you that you are simply wrong, many of them experts in programming and in hardware, both generally and with arduino specifically; and you are nevertheless determined to go ahead and misinform your readers anyway.

But in C++ this is how you change the size of an array:

[c++ changing the size of an array]c++ changing the size of an array](c++ changing the size of an array - Google Search)

… So, this is C++. Will this work? Is this appropriate usage?

Yes, it will work. No, it's not appropriate usage. You only have 2kb of memory, not gigabytes of the stuff. This is not a feature of the language, and you don't get this, or simply refuse to get it, because you have your own personal definition of what the phrase 'computing language' means and want to burden your readers with a privately-held point of view that they are going to have to unlearn later on.

bperrybap writes:

The Arduino IDE provides a development/build environment and defines and provides a runtime operating environment that can be extended further using C++ code, but it sure isn't a language. The actual language being used is C++

Do you mean C? "The actual language being used is C"? (Not "C++").

Oldsteve writes:

"Arduino" is most definitely not a language. The language is C++.

Again, does he mean C?

Paulmurray writes:

Arduino is not a language. It is a hardware platform and a programming environment. The language is simply C++.

Again, does he mean C?

NO! WE EACH SAID WHAT WE MEANT! We are not stupid, we are not ignorant, we are not incapable of expressing what we mean.

The Adruino programming environment uses classes. It uses encapsulation, inheritance, and polymorphism. This is why Serial.println() works, why the HTTP libraries, not to mention every other 3rd-party library, looks the way it does. When you use an adafruit neopixel ring, you instantiate an OBJECT. The OBJECT has METHODS. You are using C++, not C.

It may be true that most arduino programmers on these boards don't use objects in their own code except to call libraries. Personally, I think they should. Please see the page in my sig block, where I discuss this style of programming.

It seems incredibly odd that every single commentor would make this mistake in this pedantic thread. Please explain why they are using the term C++ and not using the term C?

No kidding! It would indeed be very puzzling that every single commenter has made exactly the same mistake. Isn't it so much more likely, dude, that there's only one person who has made a mistake here, and that person is you? You sound like every newb who insists they have found a bug in the compiler because their code doesn't work.

I am more confused than ever.

You are not "confused", you are simply refusing to accept that you are wrong even after being told so repeatedly by people who know quite a bit more about all this than you.

In general, C++ is a superset of C and you can use C constructs. But not the other way around - I've never heard anyone refer to C code as C++ code, unless they're being incredibly casual (like "C/C++"). In this sense, sure, Arduino is "like C++ code".

But now that we're being very technically precise, shouldn't all of the above references to C++ be renamed as references to C?

NO! The arduino programming environment uses objects and references and methods. You cannot do that in C. Which you seem to know perfectly well. The problem isn't that you don't know this stuff. It's that you insist that everybody else call things what you call them. You have decided that "computing language" means something that other people don't mean, something that other people use different words for (platform, API, environment), and that everyone ought to adopt your usage.

If you were to reconcile yourself with using the same names for things that everyone else uses rather than attempting to impose your idiosyncratic vocabulary and view of the world on your readers, you'd find that your job as a writer - communicating - goes quite a bit more smoothly. As it stands, you are going to misinform your readers, making you a bad technical writer in that you will fail at the one job that a technical writer absolutely must do: get it right.