4 ms·
> Most applications that use C++ are latency and efficiency critical. I'll take the under on this. There are plenty of C++ applications that are "latency and e
by khuey 2y ago
> Most applications that use C++ are latency and efficiency critical.
I'll take the under on this. There are plenty of C++ applications that are "latency and efficiency critical" but I'd guess it's well under 50% of all the C++ software out there.
- BeetleB 2y ago> There are plenty of C++ applications that are "latency and efficiency critical" but I'd guess it's well under 50% of all the C++ software out there. Easily well under 5%, and I'll assert it's under 1%.
- khuey 2y agoYeah I'd agree.
- ghshephard 2y agoNot to mention that the demonstration I've seen of a sub microsecond trading platform was written in Java. and talking to my manager who used to be a developer in high-frequency trading - he tells me that's a pretty common language in that space. Which, I'll be honest, kind of blew my mind.
- thefaux 2y agoYes, it is surprising initially but I can imagine that hft java coding conventions are very different from enterprise java.
- bluGill 2y agoJava, and even python are used in HFT, along with many other languages. Depending on the task they can work well or poorly. C++ has a good position in this space though because often you come down to a if(something){doTrade();} and java's optimizer has figured out that this if is normally false and so you pay a CPU branch missprediction penalty, while C++ had optimized for the true case and so when it matters is faster. No matter what the language used, HFT has some different programming styles vs normal.
- bluGill 2y agoWhen we started our current system 15 years ago (Rust wasn't an option) 5% of the code needed C++, so everything was written in C++ as there is too much friction trying to make with a different language. I'm sure there was something other than C++ that would have worked just as well. I don't know what it would be, but there are many options. Even then the article makes a good point: we can hire C++ developers, could we hire someone who knows the other option?