Niklaus Wirth and No-Bloat Financial Computing

Steve Wilcockson
4 min readJan 15, 2024

--

Lots of computing luminaries have sadly passed over recently, unsurprising given many pioneers from the fifties, sixties, and seventies reaching end of life. One catching my eye was Niklaus Wirth who died on New Year’s Day. He was a Swiss computer scientist, predominantly associated with ETH Zurich but also a fine sixties Silicon Valley pedigree. He obtained his PhD at the highly regarded Electrical Engineering and Computer Science Department at Berkeley, and then for a time was Associate Professor in Computer Science at Stanford.

Niklaus Wirth in 1969 (original with license at https://en.wikipedia.org/wiki/File:Niklaus_Wirth_large.jpg)

Wirth is notable because it is claimed he designed nine languages. That statistic likely dehumanizes many computational collaborators, but it does make for impressive reading.

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 popular quant influencer Richard Martin, 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.”

There is something in the air. I saw a similar Microsoft jibe in a recent tweet posted from an influencer associate of Elon Musk, Pranay Patel

A Microsoft-Bashing Tweet

Now, Microsoft are getting an unnecessarily rough ride by our two commentators, though they’re big enough to take it, because in my view “bloat” is a common feature of 20th Century computing. For example, see 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, bloated software becomes bloated FinOps balance sheet. 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 we need to tackle the bloat problem of software in everything, including the new algorithms of GenAI. It is to these no-bloat concise, tight languages and libraries, commonly practised 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 Professor Wirth might 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 capabilities drive innovation, but simplicity has considerable benefits.

--

--