Hacker News new | ask | show | jobs
by xwdv 2228 days ago
Cool new languages don’t provide any competitive advantage. You will not be doing HFT with Rust or Haskell or whatever.
1 comments

That's not true. Source: I work at an HFT. Rust is very interesting for Greenfield work. The major down side is millions of lines of legacy C++, the more useful already using C++17 or C++2a, which typically provides a lot of what you'd get out of Rust's stdlib and ecosystem but already packaged and integrated. When you choose Rust at an HFT you have to worry about integration with codegen tools (generating efficient Java/C++/$HDL and reasonable throughput Python for protocol definitions is table stakes at any HFT I've heard of) and build pipelines (which might already have distributed building/caching infrastructures and fancy packaging/deployment.

Rust has some benefits (and still integrates reasonably well at the ABI level), but modern C++ compilers are no slouches. Rust provides a friendly dev experience, which is a valuable thing, but a lot of the ecosystem advantages are old hat at companies with mature codebases.

I think Jane Street is using OCaml I’m not sure why did they decided to go with functional programming even though most popular firms are still using C/C++ Do you think using functional programming might have advantage over these programming languages

Just curious to find out

Jane Street has some blog posts talking about why they chose OCaml.

I'm very torn on this. I've used Rust to quickly prototype things that I think could be used I prod. It's fine. In some places it is better than what we had for C++, in most places it is very similar for experienced devs. I don't think Rust let me complete my code any quicker than if I had done it with standard C++ tooling.

The main issue I see with something other than C++ is compiler maintenance. gcc and clang generate very good code. There exists a good body of well optimized C++ for various use cases (various kinds of latency and throughput). It takes a lot of commitment to maintain and extend a compiler to keep it on par with gcc/clang and also still maintain a good stdlib for trading.

I think a huge benefit of owning your compiler in a functional language would be easier/better codegen, particularly the ability to sidestep some of the shittier hardware languages with a better DSL (since you already have some compiler and tooling expertise in-house). This matters at lot for HFT since at the most critical places, you want to use FPGAs or better.

> you want to use FPGAs or better.

What are those used for? I only did slower signal trading bots and this sounds interesting as I make hardware as well.

Jane street isn't in the HFT business, it's more like day trading.
I see. They are the only firm is pushing so hard on the use of functional programming. Everytime you do a google search related to FP you'll see them on the top