Here at Rovotics, the software department works to coordinate all of the systems on the ROV and builds the interfaces that the deck crew uses. The software department is divided into topside and bottomside teams, with topside being responsible for the pilot and copilot interface, server, and power delivery, while bottomside is responsible for bringing the ROV to life.
C++ is whats called a "general purpose programming language". This means that it can be used for anything, from desktop applications to run complicated mathematical calculations. The underlying design philosophy of C and C++ can be summed up as “trust the programmer” -- which is both wonderful and dangerous. C++ is designed to allow the programmer a high degree of freedom to do what they want. However, this also means the language often won’t stop you from doing things that don’t make sense. There are quite a few pitfalls that new programmers are likely to fall into if caught unaware. This is one of the primary reasons why knowing what you shouldn’t do in C/C++ is almost as important as knowing what you should do. This makes learning C++ a somewhat daunting task. The website that our programmers use to learn C++ is learncpp.com. They have tons of indepth tutorials, and if you finish all of them, you will know everything there is to know about C++.
As with most things, learning how to code comes down to your dedication to learning. In my own experience, the process of learning wasn't fun, but the knowledge and skills that you gain in the end are all worth it. No matter what language or skill you learn to pursue, I wish you luck in your endeavors. Coding is no simple task,