Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.
C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.
Python is becoming popular, but if you are looking to be a software engineer, go for Java; it can be used for a lot more things and incase you want to change your mind, you can use it to make a lot more things, such as game development
You might as well say use Python for game development because of pygame. Python has a flourishing ecosystem, allowing you to do pretty much anything. Just use whatever you like the best. Unity and Unreal (two of the biggest game engines) use C# and C++, so that would actually be a better route to go for game development.