Using an Arduino is often peoples first experience with text-based programming but it might not be apparently clear what language the Arduino IDE uses. We're going to take a quick look at the language used to program Arduinos and some of their main characteristics.
The language used is based on C and C++, there are a couple of small differences designed to make Arduinos as easy to use as possible. The Arduino IDE will do some pre-processing to the code to avoid some unwanted errors but other than that it's C and C++.
C is a great language for learning to program, it's often referred to as the base for most programming languages due to its structured and simple nature. It's widely used in a variety of different applications, from embedded systems to app development and operating system software.
C++ is usually referred to as "C with Classes", it's an object-oriented programming language which means it is based on "objects" which contain data fields. It gives high-level control over memory and system resources, It is primarily aimed at embedded systems and system programming.
There is some limitation with the Arduino IDE and some makers decide to progress onto a third-party development software such as Eclipse with better features once they've learnt the basics of working with an Arduino device.