Most of the languages used in finance are pretty old. There are still some legacy systems running on COBOL, which is over 60 years old. C++ is 35 years old, and is based on the much older C; whilst Python has just turned 30. C#, R and Java are all in their third decade. Millennials working in finance are probably using a language that is older than they are.
But there has been a huge amount of development in language design in the last 20 years. As a result there are numerous newer languages that take advantage of recent technology trends. Many also try and fix perceived shortcomings in existing languages. If you want a technology job in a bank, some are slowly making themselves felt.
Languages for distributed computing
Distributed computing is a hot trend, whether in cloud based services, virtual machines or physical clusters. But traditional languages aren’t designed for running code across many machines and accessing many different data volumes.
Erlang is actually quite an old language which is designed specifically for running distributed systems. It’s fault tolerant, and built for ‘hot swapping’ (which is what you need to do if your trading server fails and you need the backup working in seconds). However it makes this list because there is a new language, Elixir, that runs on top of Erlang. Elixir is better designed to handle the large volumes of data that modern finance generates.
Rust is also designed with safety in mind, and is particularly good at running concurrent code. Users of C++ will find it very familiar.
Go was also designed as a ‘better C++’ by none other than Google. As you might expect, given it’s origins, Go is extremely good at running across large networks like the server farms that power the world’s number one search engine. In comparison, coping with the cluster farms of even the largest banks is a piece of cake.
Languages for big data, and data analysis
The huge datasets used in modern financial applications do not play well with older languages. Apache Spark is a framework specifically designed for working with big data. It is written in Scala, which was created to be a ‘nicer Java’, and is gaining popularity amongst risk managers.
kdb+ is another database which is commonly used by high frequency traders due to it’s unrivalled ability to cope with massive sets of price data at high speed. The language q is used to pull data out of kdb+ and analyse it so that the next highly profitable trading strategy can be found.
Julia is only 8 years old, but is already making inroads into finance, thanks to a project to implement the same time series analysis found in Python’s pandas library (which I had some peripheral involvement in). High profile users of Julia include BlackRock and Aviva.
Languages for mobile and web apps
There is more to finance than trading and risk management. Many developers in the industry work on customer facing applications such as mobile apps and websites.
All the big players in tech have developed their own languages in this space. Typescript is a superset of the much maligned Java Script, created by none other than Microsoft. Kotlin was not originally developed by Google, but in 2019 it was adopted as their preferred language for Android apps. Google’s home grown product, Dart, is useful for developing applications that run across multiple platforms. Swift is the official language for Apple IOS apps.
Finally Facebook created Hack. Strictly speaking, this is not a separate language but a dialect of PHP. However it’s provocative name meant I couldn’t leave it out of this list, although it also makes it unlikely that it will be adopted by nervous banking CTOs.
These languages are becoming increasingly popular: Rust topped a recent survey with other newer entrants scoring highly. But it will be a while before any of these languages displace the incumbents in finance. Making changes in large monolithic organisations is difficult and costly. Nevertheless, if you can start learning now you will be ready for the future - when it arrives. And if your finance career doesn’t work out you might get a job at Google or Facebook.
Robert Carver is a former head of fixed income at quantitative hedge fund AHL, and the author of ‘Leveraged Trading’, 'Systematic Trading' and 'Smart Portfolios'. Since learning to code at the age of seven he has learned, and mostly forgotten, over 30 programming languages. He is 16 years older than Python.
Have a confidential story, tip, or comment you’d like to share? Contact: firstname.lastname@example.org in the first instance. Whatsapp/Signal/Telegram also available. Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)