You don't have javascript enabled.

The top five ways programming language impacts financial customers

If you are considering licensing and implementing a financial software application, you might not think that the underlying programming language is a key concern in your selection process. In fact, it can have a major impact on your ability to get the maximum value from your investment management software. Languages have their strengths and weaknesses.

  • CV Channagiri
  • March 14, 2018
  • 4 minutes

If you are considering licensing and implementing a financial software application, you might not think that the underlying programming language is a key concern in your selection process. In fact, it can have a major impact on your ability to get the maximum value from your investment management software. Languages have their strengths and weaknesses. Similar to other evolving technologies, over time, new programming languages bring improvements in efficiency, versatility and security, while some older languages become less productive and open up software applications to both operational and security risks.

One programming language in this category is APL. Now over 50 years old, APL was originally developed for IBM's System/360 timesharing system in the 1960s. Way back in its day, APL’s succinct but complex syntax of symbols was once viewed as advantageous for speed of development. Now, its complexity is considered a disadvantage and better solutions have replaced APL in commercial applications. SS&C replaced its APL-based actuarial/risk application more than 10 years ago, as we increasingly ran into performance issues and a diminishing pool of experienced APL programmers. Today, we wouldn’t even consider supporting APL in any of our investment management solutions, although there are a few holdouts that still haven’t managed to purge this archaic language from their application code. We think this opens up customers to a variety of risks. The reasons for choosing more updated programming languages over APL are outlined below:

Speaking different languages

There is a reason why Spanish and Chinese are more popular second languages at today’s schools than say… Gaelic or Basque. People want to learn languages that are widely used – both culturally and in commerce. It’s no different when it comes to programming languages. APL is not on the IEEE list of the most popular 20 languages. There is a very small, aging cult of knowledgeable APL developers. This immediately creates a barrier for hiring top notch talent. Younger generations of engineers want to work at companies that deploy cutting-edge technologies, so they can develop marketable skills. There isn’t a solid future in becoming an expert in something that may no longer exist in a few years. APL adds additional programming idiosyncrasies like mapping a standard keyboard with special symbols to help write APL code. As the language continues to age, there are less and less programmers who are comfortable with it.

Popularity reigns supreme

Older programming languages have been developed on older generations of operating systems and hardware. The more popular languages tend to evolve as developers build new applications for new technologies. Lack of wide APL usage makes portability to newer hardware and operating systems increasingly unlikely, and a risk for businesses dependent on applications with APL code.

No more upkeep

Aging languages like APL often require workarounds that use outdated technologies and processes such as batch processing, end-of-day procedures, and stop-and-go operations. With more modern languages you can take advantage of modern processes such as seamless and live operations.

Variety is key

Developers who work on modern programming languages can choose from multiple frameworks and development tools from various reputable vendors to build, test and deploy their code. Older interpreted languages, like APL, do not have the benefit of a choice of development environments. From a security and talent utilization standpoint, modern interpreted languages like JavaScript can be used securely both for front-end or back-end development. This has allowed for the emergence of full-stack developers who can work on both front-end and back-end programming stacks. However, with older interpreted languages, like APL, this cannot be done, because it requires different talent teams to work on different parts of the product. Today’s world is all about being connected to our clients and making sure their needs are satisfied.

Avoiding major business errors

As aging languages like APL reach their end-of-life, they become more vulnerable to security exploitation and performance issues. Applications using outdated code can limit the services that firms provide to their clients and cut them off from the solutions they need because security measures, like “moating” servers, need to be used to keep systems protected. As newer programming languages become more readable they become easier to access and learn, and are less error-prone. On the other hand, the chance of error increases exponentially with older languages. Interpreted languages, like APL are converted to machine-executable code one line at a time during execution. This makes them slower and more likely to cause errors during execution. Since interpreted languages like APL can lead to far more errors after deployment, they can negatively impact businesses.