Arduino Language is NOT C++. even if in the end it is translated to C++ and compiled with C++ it IS a language by itself which actually is of course very close to pure C++ but also adds a few subtle differences
You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wiring)
.pde - Alternate extension for Arduino language files. This file extension is also used by Processing sketches. .ino is recommended to avoid confusion. .pde extension is deprecated and will be removed in the future.
Personally, I am somewhat offended by the idea that the small amount of preprocessing done on Arduino sketches is all it takes to claim you have created a new programming language. On the other hand, I have not found any rules for eligibility of creation of a programming language. Most likely, there are none and Arduino is free to claim they have created a new language if they like, and the rest of us are free to believe them or not.
I'm certainly not qualified to make the ruling about whether it is a programming language or not. It would be very interesting to get the opinion from someone who is well qualified.
Even if it technically it qualifies as a distinct programming language, there is also the question of whether the benefits of claiming such outweigh the harms.
I also say that Arduino IDE allows programming using C, C++, and "Arduino Programming Language" because of the later to have contained the following Arduino IDE's commands/functions (though they are ultimately transformed into C++ codes):
There is a fault, if your argument is that pinMode() is used in programming Arduino and is not a part of standard C. When I wrote games using the Allegro library, I wrote: #include <allegro.h>
After that I could write: circlefill(myBitmap, 300, 200, 50, myColour);
That didn't make it "the Allegro programming language". It was plain C. I bet the great guys, who have created the Arduino IDE and have included a C/C++ kind of compiler, have a strong feeling that the setup is far from any standard implementation of how a C/C++ programming environment works on a real computer system. For them, all that work is probably a part of what is the definition of the language of C and C++. But meanwhile they did such a good job, that I, as an end user, very strongly feel that it's plain C/C++ that I write. Not a new language.
And I'm arguing just for fun! I stand at my point, knowing it has very little relevance to how we can continue helping each other and understand each other's coding problems, making this community even better.
The C programming language is called C.
The Pascal programming language is called Pascal.
The Javascript programming language is called Javascript.
The Arduino programming language is called... what?
[irony]
Oh well if it is from the internet then it can't possibly be wrong can it?
I have never seen anything on the internet that is incorrect, have you? [/irony]
Arduino programming language is a DSL - domain specific language. C and C++ are general purpose programming languages.
The Arduino programming language transpiles to C++ (as Scala transpiles to Java or TypeScript transpiles to Java Script). Transilation is a process of generating a source code for other programming language.
If I would be asked to punctuate the above quoted line, I would punctuate it as follows:
(Oh well! If it is from the internet, then it can't possibly be wrong; can it?)
Wow ! It seems folks are hung up on naming of coding variations. To my knowledge there is no "official" entity on approving if a certain set of rules/functions etc are a language.
I am not a software engineer but I know:
C++ is based on C (with enhancements) and "arduinoish" is based on C++ with enhancement.
Groovy is based on java
And likely there are many more languages based on other languages.
In my mind I do not think of Arduino as a language but C++ with a lot of helper macro's and predefined processor operators. These also come with their limitations.
"The Arduino Programming Language is basically a framework built on top of C++. You can argue that itβs not a real programming language in the traditional term, but I think this helps avoiding confusion for beginners."