The finance industry is a big user of C++. But as everyone knows, C++ programmers take on a substantial burden of complexity relative to other languages. Why would they do that? In a word: for performance. With C++, you retain full semantic expressiveness without sacrificing any speed. But that complexity can be tough.
But why particularly in finance should such a trade-off be worthwhile? And – to the extent that the big trading companies tend to actually dominate the hiring of top C++ professionals. The answer is very short: “HFT”. Michael Lewis’ book Flash Boys paints the picture well: if a high-frequency trader (that’s HFT) is prepared to tunnel through a mountain for a few milliseconds less latency, they’ll accept a bit of complexity. But there’s a limit. That brings us to the webinar next week:
C++ Concepts and Fireside Chat on Algorithmic Trading
I’m proud to be part of the webinar along with Antony Peacock and Richard Hickling. I’ll be presenting concepts. Let me explain where they come into the financial software picture.
When SFINAE was observed 20 years ago, it set off a revolution: Template Meta-programming was born. Is it the first time a Turing complete programming language has emerged by accident? It was probably in HFT where the excitement was greatest. Now you could program with full expressiveness and have it all executed at compile time. The code running on the trading servers would be optimal machine code.
Unfortunately, however, with it came absurdities. Error messages so long they exhausted compilers’ output limits. Compile times long enough to require grid computing to complete large builds. Solutions to these problems could only be found with language changes. Enter C++20’s keyword concept.
In the webinar, Antony will discuss the reality of coding in an HFT environment. I’ll follow that up with a précis on Concepts. Richard will talk about actually getting a job in this exciting area.
Like our previous webinar, we’ll provide plenty of time for questions from the audience.
We’re all very excited to be presenting the webinar and look forward to your participation and questions. Please do sign-up in advance to secure your spot. See you there!