MoneyFarm puts Scala programming language at the heart of its IT infrastructure
The open-source language is well suited to large data sets, and is becoming established as a “must-have” code for banking app developers.
Scala, an open-source programming language released in 2004, is still only ranked number 31 in the ranking index of the top 50 software languages maintained by Tiobe Software, a Dutch firm that specialises in software quality metrics.
But the Tiobe index is a general one – it covers coding languages used across all industries. Developers who work for financial firms say Scala is fast rising up the ladder to rival established languages such as Java.
A key reason for that growing popularity is that Scala can be easily applied to big data management projects, and its maths-heavy approach to coding issues makes it ideal for bankers that are more comfortable with numbers than coding syntax.
MoneyFarm, the UK robo-advisor firm, has embraced Scala with open arms. “MoneyFarm has made a strategic decision to promote Scala as a core technology of our platform,” said Norbert Radyk, the firm’s lead Scala developer, adding that all new features are implemented using Scala in the back-end.
Radyk attributes the growing popularity of Scala in finance to two factors. The first is that Scala promotes a more mathematical approach to problems. This is particularly useful for banks that need to find a common communication platform between finance and technology professionals.
“Thanks to Scala, the translation of financial models and formulas into code can be a relatively easy task. This power has been a key driver of its adoption by major financial institutions where both developers and analysts speak Scala,” said Radyk.
The second factor is that Scala is an object-orientated language, a feature that is shares with other, more popular, languages. This means that as banks search for a competitive edge, developers can move away from Java or Java Virtual Machine more easily, being already familiar with some of the syntax.
Scala also has fruitful applications in big data. “Scala is particularly useful when working with large data sets,” said Antonios Chalkiopoulos, former Big Data specialist at a Tier 1 bank and founder of Landoop, a provider of developer tools. “A typical example where you would use Scala is if you wanted to run a report on the financials of all your retail clients. So that might be as many as 50 million customers, each with one thousand transactions each, making a total of 50 billion data points. That’s a lot of data.”
What makes Scala useful in these situations, said Chalkiopoulos, is its type safety feature, which provides a running check of the code as it is compiled.
“Type safety means that you get near-instantaneous feedback on whatever it is your writing. With another language you first have to execute an application, and you only find out that it fails after, for example, processing 20 billion out of the 50 billion [hypothetical] entries, and that might take hours,” said Chalkiopoulos.
Another useful feature, adds Chalkiopoulos, is that Scala is supported by Apache Spark, an open-source software framework used to process large data sets, and a leading technology in big data projects. Apache Spark also supports Java and Python, but any new features and releases are first released for Scala, said Chalkiopoulos.