Best languages

Here we will talk mostly about the top 3 or so languages to learn for robotics purposes both for amateur robot builders and the pros in the workforce.

If you have never programmed before then you may want to start with a simple visual programming language that allows you to move blocks around a computer screen or a cellphone screen without knowing specific computer programming words or techniques.

You could grab a robot toy like at a thrift store like the Meccanoid robot or a Lego Mindstorm and play around with the visual languages that they have.

If you want to actually learn a programming language then we will recommend that you start by playing around with the “C language” and a good way to start is by using the Arduino microprocessor board which lets you use a language that is very much like C.

By jumping into the Arduino board to learn to program, you will accomplish two things at once. You will start to see actual sample programs called “sketches” included with the Arduino board and you will immediately start building things with the board and the software which will lead you towards building a robot.

While you set up your Arduino and plug it into your computer and start looking at sample code to make a light blink, you can start watching Youtube videos about programming basics and how to program in C.

You will then move towards learning about C++ and hopefully soon start familiarizing yourself with probably the most important language for robotics, which is arguably Python.

You will eventually start to learn what ROS or robot operating system is because it is important for getting a job in the robotics industry. You can also learn about the R language and Java.

Now again lets address total beginners to programming or a moment.

If you are a beginner, you will be told to learn to break down problems into small steps and try to think like a programmer before you even start coding.

Spend some time viewing Youtube videos on the basics of programming so you learn about the concepts like functions and loops and conditional statements and variables and inputs.

Lets use an example of writing a protram to make a car drive down the street.

You create some variable names for things like car, speed, road, street sign.

Then you have some functions that you name like drive and turn and park and crash.

Then you have some conditional statements that determine what to do when you come to a stop sign and want to go left or right and when you stop and do it all again.

This beginning step of thinking out your program before writing you code is basically what is called writing a program in simple English or “pseudocode”.

You describe what the program will do in simple language like English and then you pick a computer language that is best designed for that.

There are general purpose computer languages like Basic that can be used for anything and then there are specific languages for business like Cobol or science like Pascal or robots which could be Python or C/C++ or Java or industry specific languages that were designed with a specific factory robot arm in mind.

If for example, your problem will be dealing with massive amounts of scientific data and matrixes then you would probably use Python or Matlab or R but not the business language of COBOL or the starter language of BASIC and not Javascript.

So in the real world almost everyone who is making small robots is using Arduino microcontrollers and the available free open source code found on github that will make your robots move and do things.

Many of the pros look down upon Arduino microcontrollers and insist on more advanced embedded systems boards but most people think that Arduino and Raspberry pi are perfect for almost any project at least at the start.

When you get comfortable looking at the code found on an Arduino there which is usually in C you can then learn more about C and then get a Raspberry Pi board and start to learn Python on it which is easier than C and C++.

The Arduino will plug into a PC or Mac and will allow you to work with those operating systems using the Arduino IDE (integrated development environment). Raspberry Pi users will usually install a Linux operating system like Ubuntu or Debian and this makes it more complicated for beginner programmers since the language used at the command prompt is more cryptic than simply moving around in the Windows environment.

Not everyone is a super programmer and when you come across a mistake called a bug you must back track or debug to find the problem.

Many people give up after a few days of debugging and alot of people give up when they see pages and pages and thousands of lines of code.

But the good news is that most code has already been written for robots so you can get by with a lot of cutting and pasting and hiring people on sites like “5’ver” who may be a million times better than you will ever be at programming.

So feel free to view our C programming video that we made in 1994 and then seek out some better more current ones on Youtube after.

The only way to learn programming….is to program. You may instantly love it or realize that you aren’t a programmer.

You can spend 6 months trying to learn Machine learning or data science and then realize that you aren’t a programming hotshot and you don’t know enough math (algebra, stats, calculus) to really know what you are supposed to programming.

Many people say that Java is too difficult and some suggest learning javascript or even Kotlin.

Kotlin has been used to develop about 70% of the IOS apps according to Google. It is a high level structured language and borrows some things from Java and Python.