Traditional finance vs. FinTech equals Java vs. Python?
Staying loyal to security or falling for the performance trends? Here we take a look at why different types of financial industries have a specific preference for Java or Python.
There seems to be an immense amount of confusion among the community on the topic of finance and FinTech. Therefore, it is crucial to differentiate between the two industries before going any further. When referring to finance, we talk about the traditional financial sector while FinTech concerns the financial start-ups. Now, banks are traditional financial institutions but they can, however, be involved in the FinTech industry as well, with a number of potential financial products.
Therefore, from this point on, when referring to finance we will be talking about the operations within the traditional financial sector.
Finance, as in ‘Java kingdom’
Java has been the leading programming language in the financial services for almost 20 years. Banks are the main player in the traditional financial sector and as institutions of such importance they have security as one of their most central pillars. Naturally, these institutions handle an enormous amount of data every day. The fact that Java has been a significant part of the Big Data ecosystem for almost two decades makes it the most suitable language to handle such operations.
Java provides a secure platform for financial data and enforces object-oriented programming models. The fact that it is widespread is one of the reasons why Java is finance developers’ number one choice.
Gina Schiller, vice president at Jay Gaines & Company
FinTech, as in ‘Python lover’
In one of his articles, Matthew Harris identified the key features of a programming language that covers the needs of a FinTech start-up:
- Easy to handle
- Coupled with ready-made libraries and components
Undeniably, Python is the language that best fits this profile.
To start with, algorithmic problems are the first issues developers face during the development process of a FinTech app. Python’s syntax is the closest to the mathematical syntax that is used in financial algorithms. What’s more, this asset makes it the language that is most easily learnt by other professionals, like mathematicians or economists.
Python may not be the fastest performing language, however, its simple structure allows for lower error rates and less bug-hunting. To give a small example, the picture below shows the way classes and inheritance are handled in Java and in Python.
Finally, Python offers a comprehensive ecosystem of open source financial libraries that make the life of a developer much easier when developing as well as maintaining a FinTech app. Let’s have a look:
- SciPy (library for scientific and technical computing)
- NumPy (fundamental package for scientific computing)
- pandas (flexible and powerful data analysis/manipulation library)
- pyalgotrade (algorithmic trading library)
- pyrisk (common financial risk and performance)
- zipline (a Pythonic algorithmic trading library)
- py (library for quantitative economics)
- pyfolio (portfolio and risk analytics
- pybitcointools (commonsense Bitcoin-themed Python ECC library)
- finmarketpy (library for backtesting trading strategies and analyzing financial markets)
- scikit-learn (machine learning algorithms)
SEE ALSO: Fintech is “banking’s cooler cousin”
Staying loyal to security or following the trends?
We all had that friend in school who was always strong and dependable and with whom we felt always safe; and we all had that other friend that was the super cool kid who followed all the trends. In our scenario, the strong friend is Java and the trendy friend is Python!
Java, with its longstanding presence and its high level of dependability, is highly unlikely to lose the throne as the most preferred programming language among traditional financial institutions that value security, just as you valued how the strong friend always brought you home safely.
On the other hand, Python has all the right features to be the cool kid in the classroom. FinTech, being either a trend or the future, is in need of specific programming features that, at least so far, are better dealt with Python.
But let’s not disregard Java’s adaptability just yet; Stephen Colebourne will join us at JAX Finance 2018 to share his views on the future of Java in finance. If you are interested in this topic, have a look at the conference schedule and make sure you book your Very Early Bird tickets!
Stephen Colebourne will be delivering two talks at JAX Finance 2018: