Obviously, it varies greatly in different companies / industries, but in my experience it roughly breaks down as follows:
- Java for large enterprise systems, rear trading platforms, etc.
- C ++ for low latency / high performance materials
- C # for front-end / desktop applications
Java as a whole is the largest of the three, which makes sense as it is best suited for server-side cross-platform enterprise-wide enterprise applications.
The only area where Java / C # really doesn't work is very low latency, where GC pauses can be very problematic. You really need C ++ here (or assembler or some other language that allows you to get guaranteed real-time behavior)
Sometimes several other languages ββappear (for example, Haskell for pricing models), but they are usually located in narrower / specialized domains.
I also experimented a bit with some of the new JVM languages ββ(e.g. Scala, Clojure). At the moment, itβs still quite small, but if you are looking for a place to develop your skills, I think this is a pretty good bet for the future, because they combine the advantages of the Java platform (where banks have a huge amount of investment) with much more modern / productive tongues.
source share