C++
All software that is intended to run onboard a UAV is preffered to be written in C++. Although ROS/ROS2 natively supports also Python, well-written C++ provides significantly better performance (computational resources are scarce onboard a UAV) and compile-time sanity checking (the code is much less likely to crash during runtime mid-flight). Therefore we recommend to learn C++ and get used to programming with it.
- A C++ mini-tutorial (suggested for everyone): ctu-mrs.github.io/docs/software/cpp
- The C++ standard library already implements a lot of tools and classes: https://en.cppreference.com/w/
- If you want to go much deeper into C++, I recommend the excellent C++ Weekly by Jason Turner series
- For interesting in-depth videos about the development of the C++ language, see CppCon presentations