Hacker News new | ask | show | jobs
by hardwaregeek 1258 days ago
I've always been curious whether someone will succeed in using the same development strategy as Jane Street, namely using a non-C++ language as their primary language. I suspect OCaml may have been a very good choice back in the early 2000's simply because C++ was a much different language and there weren't many options for other languages. Building up an ecosystem was not a bad plan because most languages did not have much of an ecosystem anyways. Nowadays ecosystems are a lot more developed. But on the flip side, that could mean you could stand to use a language like Rust that has an ecosystem and interoperability with C++. I know Tsuru Capital uses Rust but I'm not familiar with any other firms.

It also could be that Jane Street succeeded regardless or even despite OCaml. At the end of the day OCaml isn't going to ensure that your trading strategies work. It's not going to suddenly create alpha. But I do suspect they've gotten serious hiring and marketing returns by using OCaml. And benefited the OCaml ecosystem as a byproduct, which is a pretty solid side-effect, even if side effects are not very functional :D

5 comments

I have worked for a big (probably more successful) competitor to Jane Street, that uses in its different offices C#, C++, possibly some Java that I'm unaware of, and for non-production systems a very large mix of everything under the sun (Python, R, etc.)

The idea that the language is part of their success is simply absurd. If anything having to have to develop and maintain an entire ecosystem probably slowed them down more than anything.

It can sometimes help with hiring early on. Pg's "blob" blog post comes to mind.
> whether someone will succeed in using the same development strategy as Jane Street, namely using a non-C++ language as their primary language

It’s gonna happen and it’s gonna be Rust

> you could stand to use a language like Rust that has an ecosystem and interoperability with C++.

Indeed :)

Maybe. Rust as a core language is less productive than ocaml, by a lot. But Rusts standard library is just so much better than Ocamls (including Jane Streets version) - which tends to even it out.
I think there’s probably a hidden coefficient here: I would readily believe that an experienced OCaml developer is more productive than an equivalently experienced Rust developer, but that a junior Rust developer is probably several times more productive than a similarly junior OCaml programmer.

(This is not unique to this pairing of languages.)

I once wrote one mostly in SQL with a Postgres database. It behaved pretty predictably with concurrent usage. I wonder how many trades per second it could do. Postgres itself can handle a lot of the difficult details, but reinventing those wheels for trading in particular can probably get you something faster.
There is a little bit of survivorship bias here: in the 2000's, the two main languages of HFT were C++ and Java. By 2015, all the Java shops (and many of the C++ shops too) had failed. Lots of companies tried to do something other than C++, but most of them chose wrong.
That's not true, I've worked at IMC and they extensively use Java for their production systems. The performance critical parts are a mix of hand crafted assembly, C, C++, FPGAs and a dozen other esoteric languages/techniques no ones ever heard of.
So you're saying they're a C++ shop that uses other languages when appropriate? Like every other C++ shop in trading?
They didn’t fail due to their language choice
The author never said they failed because of language choice.

> By 2015, all the Java shops (and many of the C++ shops too) had failed. Lots of companies tried to do something other than C++, but most of them chose wrong.

It's hard to imagine that language choice wasn't a factor - or at least that the philosophical ideals that led to the language choice weren't a factor.
A shell of Allston (formerly big Java shop) lasted until last year.
I was there until the end. It was definitely fading into obscurity but still had >50% of peak numbers. And we were switching to C++ in the last year or so.
This is factually incorrect, and saying a trading shop failed because of language choice is, um, less than smart.
anyone use haskell?