Once I was tinkering with an anthropomorphic robot. I got to the point where I rewrite almost all code from c++ to python. A colleague (more physicist than a programmer) after this trick very quickly (literally in a month) sketched and tested algorithms, and also wrote a graduate work on these algorithms. Readability is an important thing.
The time has passed, I have not been working with the robot for a long time. And then I find out that it has invented a “project school” for pupils, they will be engaged in various projects, and one of the teams will work with an anthropomorphic robot. Okay, I thought, at one time we made a simulator for a robot (in a gazebo) – let them dabble, they don’t understand anything in two weeks. It was not there. Despite ROS (not the most logical framework, to say the least) – they come up in a week – “we want to test on a real robot, it works in a simulator”. Continuation – you understand. There was a small bug, but in principle it worked.
They made two complex movements – dance and workout. Yes, the movements are hardcoded positions of the engines, it does not matter. For me, it was an indicative moment that 1. There are children who quickly understand and are able to perform complex tasks under a little guidance. 2. To do this, you need to lower the level of entry – this will help (not only children) make it easier to understand the system, and therefore it is easier and more qualitative to make a contribution.
I do not want to develop the theme, which is better, c++ or python. Each language is intended for its own goals. Python is higher level – more readable. One of the modules I left in c++ – it needs execution speed. Use task-appropriate tools!
Code readability, readme docs, tests – and other code quality indicators are invented for a reason!
Here are videos: