Citadel Securities' guru says C++ 26 is a "big hairy deal." Banks aren't so sure
Jane Street has OCAML (or OxCaml). Citadel Securities has C++ 26. Which would you rather work for?
Get Morning Coffee ☕ in your inbox. Sign up here.
If you're applying for a job in the top tier of electronic trading firms, this is a valid question. If you're applying for a trading job in a bank, it doesn't apply. Banks never use OCAML and you'll be lucky if they use C++17.
"In my experience, most banks tend to be on C++17 or earlier," says one quantitative developer who's worked at multiple European banks in London. At banks, he says, the adoption of new language versions tends to be part of modernisation programmers designed to satisfy regulators that banks aren't using deprecated languages and software libraries. "I have only heard of C++ 20 being used at some hedge funds," he adds.
In this sense, Citadel Securities' adoption of C++ 26 makes it an anomaly in financial services. Herb Sutter, the ex-Microsoft C++ "nerd" who joined Citadel Securities last October is a huge fan of C++ 26 and is pushing the firm to adopt it. Writing on his own blog last month, Sutter said the latest iteration of the language is a "big hairy deal" and cited Hana Dusíková, a member of the C++ Standards Committee, description of it as a "whole new language."
The key advantage of C++ 26 is reflection, or the ability of a program to examine and modify its own structure), which will make the language more reliable and resilient. "Reflection will fundamentally improve the way we write C++ code, expand the expressiveness of the language more than we’ve seen in at least 20 years, and lead to major simplifications in real-world C++ tool chains and environments," enthused Sutter.
Despite the increasing accessibility of C++, a senior quant developer in the markets team at one US bank, says the bank is moving away from the language. "Wherever possible we've been using low latency Java, Python or Kotlin for the equities backend," he says. "The problem is that C++ developers are harder to hire, the development can be slow and the different flavours of C++ add to its complexity."
C++ has been updated seven times since 1998; C++ 26 will be the eighth. Sutter says C++ 26 is the language's most important iteration since C++ 11, when Bjarne Stroustrup and Gabriel Dos Reis introduced the contexpr function.
C++ 26 isn't fully launched yet - that won't happen until around March 2026, but Sutter said C++ compilers GCC and Clang have already implemented two thirds of its features.
Citadel Securities is already "aggressively" adding C++26 to its new trading system, said Sutter. "We already use C++26’s std::execution in production for an entire asset class, and as the foundation of our new messaging infrastructure," he added. This has made possible because Citadel Securities already had its own in-house implementation running for several years, developed by Gasper Azman, a software engineer at the firm in London. Citadel is already "living the future" boasted Sutter.
Banks, meanwhile, are stuck in 2017 or earlier. Other electronic trading firms may follow Citadel Securities' lead. One C++ low latency developer at a rival trading firm says he agrees with Sutter's verdict on the importance of C++ 26. "Reflection is a big deal, I will be using it this year," he tells us.
Have a confidential story, tip, or comment you’d like to share? Contact: +44 7537 182250 (SMS, WhatsApp or voicemail). Telegram: @SarahButcher. Click here to fill in our anonymous form, or email editortips@efinancialcareers.com. Signal also available.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libellous (in which case it won’t.)