ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
This is a very broad question and for a general discussion you'll probably find thousands of discussions (and flamewars :) ) on the internet. As a rule of thumb, if one is proficient in both languages, Python allows to get things done faster, while a implementation in C++ likely takes longer to implement but might be faster during runtime. In practice, this rule of thumb can also turn out to be very wrong for numerous reasons (availability of fast library implementations, implementation errors etc.).
The vast majority of SLAM and navigation code for ROS is implemented in C++ currently, so most implementers apparently felt that this was the better choice.
IMHO, the pragmatic answer looking at a short to medium time frame is that you should use what you know to use best. A expert Python programmer but C++ novice will have a hard time using C++ and vice versa. Still, I'd recommend learning both languages over time, as they have complimentary strength and weaknesses.