Blog article
See all stories »

Niklaus Wirth, and How Financial Computing Can Help Save The Planet

More than a few computing luminaries have sadly passed over recently, unsurprising given many pioneers from the fifties, sixties, and seventies reaching end of life. One who caught my eye was Niklaus Wirth who departed this world on New Year's Day. He was a Swiss computer scientist, associated most with ETH Zurich, but he also had sixties Silicon Valley pedigree. He obtained his PhD at the highly regarded  Electrical Engineering and Computer Science Department at Berkeley, and then became Associate Professor in Computer Science at Stanford for a time.

Niklaus Wirth in 1969

Wirth was notable because, as the wiki page about him says, he helped design nine languages. That’s NINE languages. To be sure, not all his own work! Others were involved, but that’s mighty impressive.

The first of two languages of Wirth that I have most familiarity with includes ALGOL from the 1960s, though in his case specifically the W variant which brought complex datatypes and dynamic and recursive data structures such as lists, trees and graphs to ALGOL’s scalars and arrays. The W is important, because ALGOL W got supplanted by the more complicated and ultimately unsuccessful rival ALGOL 68 implementation. However, Wirth’s ALGOL W descendent, the Pascal programming language and ultimately the commercially supported Delphi (built on an object-oriented version of Pascal), became highly successful algorithmic languages during the 1970s.

It was Wirth’s dedication to lightweight, easily usable algorithmic programming which caught my eye courtesy of a mildly provocative comment on a social media post from a popular influencer finance quant/trader/portfolio manager relating to Wirth’s obituary in The Register, He stated simply “[The article about Wirth was] correct about bloated software. Look at anything produced by Microsoft.”

The poster's Microsoft jibe reminded me of a recent tweet posted from an influencer associate of Elon Musk, which went:

1973:

-          What are you doing with that 4KB of RAM?

-          Sending people to the moon

2019

-          What are you doing with that 16GB of RAM and 102%CPU

-          Excel has a dialogue box open somewhere

Now, Microsoft are getting an unnecessarily rough ride by these commentators, though they're big enough to take it, because in my view “bloat” is a common feature of 20th Century computing. For example, look at the virtual machines and sizeable memory/CPU requirements of popular languages Java and Python. As applications in these and other languages modernize and scale to cloud, the bloated software becomes bloated FinOps balance sheets. The addiction then escalates by an order of magnitude when Generative AI adds to the mix, with its massive compute overheads. Key training and inference processes require powerful specialized hardware, GPUs, which are getting scarcer and more problematic to source.

Therefore, in addition to escalating costs from inefficient use of memory and compute, particularly but not exclusively for data intensive applications, draws excess energy consumption, and creates environmental impact. Geopolitical tensions might also arise as powerful nations and economies compete for compute, such as those at play in the South China Sea, relating to the strategic importance of TSMC (Taiwan Semiconductor Manufacturing Company).  

Here’s where Wirth and the finance industry comes into play. Pascal and Delphi were well utilized in financial services (note the Swiss connection!), as were other lightweight “terse” languages, while the 1970s engineers built their hyper-efficient rocket science. Another language in which Wirth had a hand was the vector language APL, designed by Canadian Kenneth Iverson. Wirth was academic supervisor of the “interpreter for Iverson Notation,” a fundamental part of APL, aka A Programming Language. The A in APL, brought to fruition by Morgan Stanley would later became K and ultimately Q, When you see live trading prices and real-time analytics from your banks and brokers, particularly in equities, FX and other high frequency assets, such are the languages used, lightweight, terse and very efficient.  

This matters because as we tackle the bloat problem of the software that runs the world, including the new algorithms of GenAI, it is to these types of concise, tight languages and libraries, practised and proven in finance, to which data centers, Cloud Service Providers (CSPs), and many others will turn.

RIP Niklaus Wirth. I'll finish by quoting two thinkers with whom I think Professor Wirth would have agreed:

- C.A.R. Hoare, "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult."

Too much of modern software is the latter.

- Antoine de Saint-Exupery: "Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away."  

Somewhat counterintuitive in a world where new features and new capabilties drive innovation, but simplicity has considerable benefits.

3062

Comments: (0)

Now hiring