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.
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.
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:
- Ada on Reddit
- Ada on StackOverflow
- Who uses Ada?
- The Big Online Book of Linux Ada Programming
- 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.