People use different languages for different things.
If it is extremely CPU intensive then people use C++ or CUDA.
For things involving exchange of data, then people start using Java.
Then for high level research/prototyping people use python, R, and I've seen Matlab.
For reporting and bookkeeping people use Excel/VBA.
All of these languages are interconnected. So you could have someone write a C++ pricer, punch that into a Java trading system, then analyze the data with Python or R, and then dump all of that into Excel/VBA.
I would say, C++ would be best suitable if you are into writing trading algorithms. The things that matter is the execution speed and correctness (parallel processing).
Some people have started using JAVA, with it providing Just in Time compilation and compiler becoming more efficient, but it will still take time to beat C++ in that domain.
However language is one thing, how you structure your running environment also matter, things like core binding can be used to further optimise your algorithm, basically what you write matter as much as how you execute it.
For introduction programing and scripting, python is probably the best. It's not as versatile as some of the others but if all you need to do is to implement APIs then it does the job.
I would highly recommend learning React.js.
There are a lot of options available and it is better to study each option befre selecting and deciding on one. Generally C, C++, Erlang, Python, OCaml, Haskell, Ruby and R are used. Java can also be used for the transactional nature, but it is known to be slower than the other solutions.