WPILib programming has long supported C++ as a programming language for the RIO and FRC vendor APIs. For a long time, C and C++ have been standard languages in robotics for a variety of historical and technical reasons. In 2005, WPILib introduced java as a language to program FRC robots in.
At the time of writing, Python3 is also being incorporated into WPILib - but the vendor libraries are incomplete in Python.
So, what do you need to know when considering which language to use?
The answer is Java.
Our team has used both languages for programming - C++ our first year and Java every year after that - and I can safely say that Java is a significantly better language for doing your robot programming in. While C++ offers slight speed improvements, it’s not supported by some key FRC vendor libraries and it will be MUCH harder to come by C++ teams if you need help. Python has all the same problems as C++ and it’s slow.
So if you’re starting a robot program or considering how you’ll run a programming team, pick Java. There’s no reason not to.