In this article, we'll examine the 10 most popular programming languages ​​in robotics, delving into their respective strengths and weaknesses and why they are used and discarded.
This is actually a very reasonable question - after all, if you never put it into practice, why spend a lot of time and energy to learn a new programming language? If you are a newcomer to robotics, you will certainly want to learn a programming language that is really useful for your career.
Unfortunately, if you ask a room for robotics experts, "What is the best programming language in robotics?", you will never get a direct answer.
Electrical engineers will give different answers from the perspective of industrial robot technology. Computer vision programmers give answers that are different from those given by cognitive robotics experts. Moreover, everyone has their own opinion of what is the best programming language. This is a rather useless answer to a new robotic scholar who is trying to decide which language to learn first. Even this is the most realistic answer - because it really depends on the application you want to develop and the system you are using.
For robotics experts, the most important thing is to open up your "programming thinking" rather than mastering a specific programming language. In many ways, it doesn't really matter which programming language you start learning. Every language you learn enhances your programming thinking, and with this kind of thinking, it's a lot easier to learn a new programming language.
There are more than 1,500 programming languages ​​in the world, and there are too many words to learn. Currently, there are 10 of the most popular programming languages ​​in robotics - if you don't like it, please let me know in the message area. For robotics, each programming language has different advantages. I just sorted them in part, from low to high, according to their importance.
10, BASIC / Pascal
BASIC and Pascal are the first two programming languages ​​I have ever learned. But this is not why I listed them here. For several industrial robot languages, they are the basis, as explained below. BASIC is designed for beginners (BASIC is an abbreviation, BeginnersAll-PurposeSymbolicInstrucTIonCode), which allows beginners to learn from a very simple programming language. Pascal is designed to encourage good programming habits and introduces structures such as pointers, which makes Pascal a "knockknock" from BASIC to more complex languages. Nowadays, if these two languages ​​are to be a good "everyday use" programming language, it is a bit outdated. But if you're going to do a lot of underlying coding or want to get familiar with other industrial robot programming languages, it's still useful to learn.
9, industrial robot programming language
Almost every robot manufacturer has developed their own proprietary robot programming language, which has become a problem in the industrial robot industry. By learning Pascal, you will be familiar with some of them. But every time you start using a new robot, you have to learn a new programming language.
In recent years, the ROS industry has begun to offer more standardized alternative languages ​​to programmers. But if you are a technician, you are still more likely to have to use the manufacturer's programming language.
8, LISP
LISP is the second oldest programming language in the world (FORTRAN is older, but only a year earlier). Compared to many other programming languages ​​mentioned today, its application is not extensive. However, it is still very important in the field of artificial intelligence programming. Part of ROS is written in LISP, although you don't need to master this to use ROS.
7, hardware description language (HDLs)
The hardware description language is generally used to describe the electrical programming method. These languages ​​are quite familiar to some robotics experts because they are used to programming FPGAs (FieldProgrammableGateArrays). FPGAs allow you to develop electronic hardware without actually producing a silicon chip. For some developments, this is a faster and easier choice. If you haven't developed an electronic prototype, you may never use HDLs. Even so, it is necessary to understand this programming language because they are very different from other programming languages. One important point: all operations of HDLs are concurrent, not sequential operations of processor-based programming languages.
6, Assembly
Assembly allows you to program on 0 and 1 digits. Basically this is the lowest level programming language. Just recently, the lowest level of electronics required Assembly to program. With the rise of Arduino and others like microcontrollers, you can now easily program at the bottom level using C/C++. This means that Assembly may become more unnecessary for most robotics experts.
5, MATLAB
MATLAB and its associated open source resources, such as Octave, are particularly popular with some robotics engineers, who are used to analyze data and develop control systems. There is also a very popular robot toolbox - MATLAB. I know some experts who can use the MATLAB to develop the entire robot system. If you want to analyze data, produce advanced images or implement a control system, you might want to learn MATLAB.
4, C#/.NET
C# is a specialized programming language provided by Microsoft. I put C#/.NET here, mainly because of the Microsoft Robotics Developer's Work Package (Microsoft RoboTIcs Developer Studio). The main development language for this package is C#. If you are going to use this system, then you will most likely have to use C#.
3, Java
As an electrical engineer, I am always amazed at the fact that some computer science degree programs have taught Java as the first programming language. Java hides the underlying storage functionality from the programmer, which makes it easier to write than some languages ​​(such as C), but it also means that you will have less understanding of the underlying code's running logic. If you have a background in computer science and go to robotics (many people are like this, especially in research), you may have already learned Java. Like C# and MATLAB, Java is an interpreted language, which means it won't be compiled into machine code. Instead, the Java virtual machine interprets the instructions at runtime. Using Java, in theory allows you to run the same code on different machines, thanks to the Java Virtual Machine. In practice, this is not always possible, sometimes causing the code to run slowly. But Java is very popular in some robotics, so you may need it.
2, Python
In recent years, people who have learned Python have had a huge resurgence, especially in the field of robotics. One reason for this may be that Python (and C++) are the two main programming languages ​​in ROS. Unlike Java, Python's focus is on ease of use, and Python doesn't need a lot of time to do routine things like defining and casting variable types. These are very common things in programming. In addition, Python has a large number of free libraries, which means you don't have to "reinvent the wheel" when you need to implement some basic functionality. And because Python allows for simple binding with C/C++ code. This means that the performance of the heavy parts of the code can be embedded in these languages ​​to avoid performance loss. As more and more electronics begin to support "out of the box" Python (along with RaspberryPi), we may see more Python in the bot.
Note: The Raspberry Pi FoundaTIon: A small charitable organization in the UK that was established to promote technology rather than to sell technology.
1, C / C + +
Finally we arrived at the number one robot programming language! Many people think that C and C++ are a good starting point for new robotics. why? Because many hardware libraries use both languages. These two languages ​​allow for interaction with low-level hardware, allowing real-time performance and are a very mature programming language. Nowadays, you may use C++ more than C because the former has more features. C++ is basically an extension of C. It's useful to learn a bit first, especially if you find a hardware library written in C. C/C++ is not as easy to use as Python or MATLAB. Also using C to implement the same functionality can take a lot of time and will require more lines of code. However, because robots rely heavily on real-time performance, C and C++ are the programming languages ​​closest to our robotics "standard language."
Transmission poles are tall structures used to support overhead power lines that carry electricity from power plants to homes, businesses and other buildings. These poles are typically made of wood, steel, or concrete and are spaced along transmission lines to provide support and maintain proper tension on the wires. Transmission poles are designed to withstand all weather conditions and are an important part of the grid infrastructure.
Transmission Pole,Steel Power Pole,Steel Fence Posts,Telephone Pole
JIANGSU HONGGUANG STEEL POLE CO., LTD. , https://www.hgsteelpoles.com