1. C/C++
Why did C and C++ become the leading programming languages in robotics ? Because many hardware libraries use these languages, allowing interaction with low-level hardware, enabling real-time performance, and providing a very mature programming language experience. C++ is essentially an extension of C, and C/C++ is not as simple as it used to be. Implementing the same functionality using C could take a very long time and require many more lines of code. However, because robotics heavily relies on real-time performance, C and C++ are the programming languages closest to the "standard language" for us robotics experts.
2. Python
Python is a computer programming language, a dynamic, object-oriented scripting language. Originally designed for writing automation scripts (shell), it has become increasingly used for independent, large-scale project development with continuous updates and the addition of new features. In recent years, there has been a huge resurgence in Python learning, particularly in the robotics field. One reason may be that Python (along with C++) is one of the two main programming languages found in ROS. Like Java, it is an interpreted language, but unlike Java, its primary focus is on ease of use. Many people find this very beneficial because it saves a lot of routine work, such as defining and casting variable types. Furthermore, it boasts a large number of free libraries, meaning that when you need to implement basic functions, you don't need to "reinvent" them; you can use them directly.
3. Java
Java "hides" the underlying memory management from the programmer's perspective, making it simpler to write than some languages (like C). However, this also means you'll have less understanding of the underlying code's execution logic. If you're transitioning from a computer science background to robotics, Java might be a good choice. Java is an interpreted language, like C# and MATLAB, meaning it's not compiled into machine code. Instead, the Java Virtual Machine (JVM) interprets the instructions at runtime. Theoretically, using Java allows you to run the same code on different machines, thanks to the JVM. In practice, this isn't always feasible and can sometimes lead to slower code execution. However, Java is very popular in some areas of robotics, so you might need it.
4.C#/.NET
C# is a proprietary programming language provided by Microsoft. C#/.NET is included in this category because Microsoft Robotics Developer Studio uses it as its primary language. If you plan to use this system, you will likely need to use C#. However, learning C/C++ first may be a good choice for developing your coding skills in the long run.
5. MATLAB
MATLAB and its open-source relatives, such as Octave, are highly favored by robotics engineers, primarily for data analysis and control system development. Another very popular robotics toolkit is MATLAB. Anyone wanting to develop complete robotic systems using MATLAB, to analyze data, generate advanced graphics, or implement control systems, needs to learn MATLAB.
6. Assembly
Assembly allows you to program at “Level 1 and Level 0”, which is the lowest level of programming language. Most low-level electronic devices require programming recently. With the rise of microcontrollers such as Arduino, you can now easily program at this level using C/C++, which means that most robots may not need it as much.
7. Hardware Description Language (HDL)
Hardware description languages are essentially used to describe how electrical devices are programmed. These languages are quite familiar to robotics experts because they are used to program field-programmable gate arrays (FPGAs). FPGAs allow you to develop electronic hardware without actually manufacturing a silicon chip, which is a faster and easier option for some development tasks.
If you're not working with electronic prototypes, you might never use HDLs. Even so, it's still worth learning about them because they are fundamentally different from other programming languages. For one thing, all operations are executed in parallel, rather than following processor-based languages.
8. LISP
LISP is the world's second oldest programming language (FORTRAN is older, but only one year old). It's not as widely used as many other languages on this list; however, it remains very important in artificial intelligence programming. Part of ROS is written in LISP, although you don't need to know how to use ROS.
9. Industrial Robot Language
Each robot manufacturer has developed its own proprietary robot programming language, which has become a problem in the industrial robot industry. While it's possible to become familiar with a few through Pascal, a new language still needs to be learned each time a new robot is used. For example, ABB has RAPID; Kuka has KRL (Kuka Robot Language); Comau uses PDL2; Yaskawa uses INFORM and Kawasaki uses AS; Fanuc robots use Karel; Stäubli robots use VAL3 and Universal; and Robots uses UR.
In recent years, the ROS industry has begun to offer more standardized alternative languages to programmers. If you are a technical professional, you will need to learn the manufacturer's language as well.
10. BASIC/Pascal
BASIC and Pascal are the foundations of several industrial robot languages.
Let's clarify: BASIC is designed for beginners (it stands for Beginner General Symbolic Instruction Code), allowing beginners to start with a simple programming language. Pascal aims to encourage good programming habits and introduce constructs such as pointers; it's a good "stepping stone" from the basic version to a more complex language. Both languages have become somewhat outdated in recent years, better suited for "everyday use." However, if you're doing a lot of low-level coding or want to familiarize yourself with other industrial robotics languages, learning them can still be useful.
Disclaimer: This article is a reprint. If it involves copyright issues, please contact us promptly for deletion (QQ: 2737591964). We apologize for any inconvenience.