In general, what is a good programming language for robotics? I am a starting robo nerd and don't know anyone who would know things like this.


closed as primarily opinion-based by Ian, Shahbaz, Andrew Jun 4 '14 at 11:52

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.


The short answer is, frustratingly, "it depends".

Nearly every established language can be used to program one robot platform or another. In my short career as a roboticist I have already used Python, Java and C++ to program different robots. There are even tools to program the Lego NXT in Ada, would you believe that? So whatever programming language you already know, there's a good chance you can use just that: Google robot <language name> and see what turns up.

That said, if you have no previous programming language knowledge, C and C++ are probably the safest bets out there. Most robotics platforms support either one of them (or can be coaxed into support without too much effort), and there are plenty of useful packages available. As a bonus, C / C++ were highly influential to languages that came after them, so it would give you a head start on many a language you might want to learn later.

  • $\begingroup$ That's great thanks!! Now to make that a little harder-do you know if I can program a (probably not native) ios app with any of the languages that could be used for robotics? I am hoping to just learn one language instead of two for now. $\endgroup$ – user4490 May 30 '14 at 13:30
  • 1
    $\begingroup$ That's a different question altogether, and you could easily have found the answer yourself by Googling ios <language of choice>. But yes, there is C++, which you can use to program iOS apps with the help of the Qt framework. $\endgroup$ – xperroni May 31 '14 at 11:27
  • $\begingroup$ Thanks you so much!! This is exactly the info I was looking for. $\endgroup$ – user4490 May 31 '14 at 12:31

It depends on the project. But generally you should choose the language you are most comfortable with. C/C++, Python have the most tools and libraries available. However I'd choose Ada all the days in the week. It's an elegant and simple yet very advanced language which has a very strong typing. The latest 2014 GPL version has been release for the public recently. There are not many Ada users left but the support communities are great. To sum it up, try the popular languages first and then try Ada perhaps. Links to visit if you want more information on Ada or if you have questions:

  1. Ada on Reddit
  2. Comp.lang.ada
  3. Ada on StackOverflow
  4. Who uses Ada?
  5. The Big Online Book of Linux Ada Programming
  6. Building Parallel, Embedded, and Real-Time Applications with Ada

Alse check out the Robot Operating System which has many modules and packages ready to use.


Not the answer you're looking for? Browse other questions tagged or ask your own question.