Ex-High Frequency Trading engineer 'baffled' by C++ praise
If you're looking for elite low-latency code, chances are it's written in C++. The programming language is the industry standard-bearer and thought of by many as an unbeatable monolith, but is that really the case? One who disagrees is Jimmy Hartzell, who comes from perhaps the most elite of low-latency intrinsic industries, high frequency trading (HFT).
Hartzell, currently a senior principal engineer at rail transportation company Amtrak, spent almost five years at New York based HFT firm Tower Research Capital as a software engineer. Not only did he work on the C++ code for the firm's FX trading desk, he also developed a C++ curriculum used to educate the firm's employees.
When looking at defenses of the language in a recent blog post, he found their reasoning 'baffling.' His hyperbolic example says, "the complaints are just from people who aren’t up to it," and that they lack the ability to appreciate what C++ is doing. Hartzell calls the notion "nonsense."
Hartzell spent two years working in Rust for solar energy automation firm Racepoint, and says "there are so many features" that he misses. Despite Rust being far less prevalent in buy-side firms, he believes there is "very little - any way in which C++ is more performant or more appropriate than Rust."
The difficulty of C++ is often regarded as a good thing, and while Hartzell concedes that "C++’s difficulty is a sign of its power," he lambastes many of its idiosyncrasies as "papercuts," minor annoyances serving no tangible benefit. Examples of this include returning multiple values by tuple being "unergonomic", which is frustrating to debug, and values being mutable by default rather than constant, which can lead to easy mistakes being made.
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 email@example.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 libelous (in which case it won’t.)