If you’re considering licensing and implementing a software application, you might not think too much about its underlying programming language. However, it can have a major impact on your ability to get the maximum value from your software choice. Languages have their own inherent 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 operational and security risks.
One programming language that falls under the latter category is APL. Now over 50 years old, APL was originally developed for the 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, like SimCorp, that still haven’t managed to purge this archaic language from their application code. We think this opens up their customers to a variety of risks. Here are five:
Risk #1: “Yo No Hablo APL”
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 much future in becoming an expert in something that may cease to exist in a few years.
Reason #2: “You Can’t Get There from Here”
Older programming languages have been developed on older generations of operating systems and hardware. The more popular languages evolve as developers build new applications for new technologies. Lack of wide APL usage makes portability to newer hardware and newer operating systems increasingly unlikely, and a risk for businesses dependent on applications with APL code.
Reason #3: “Hand Me the Duct Tape”
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.
Reason #4: “Too Few Tools in the Shed”
Reason #5: “Recognizing the Error of One’s Ways”
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.
Maintaining our Leading Edge at SS&C
At SS&C, our team of technologists is very introspective and is continually innovating and redefining our products. Whether it’s our programming languages, platforms, processes, or how we engage with our clients, we are always reevaluating our industry leading solutions. Our business is driven by providing value to our clients. We are focused on creating communities built on supporting and continuously enhancing our market-leading cloud solutions.