Re:We chose Java for our high-frequency trading application
by tormeh on Monday October 26, 2020 @12:53PM
(#24898252)
It has immutability, no null pointers, and error types. It has escape hatches available for everything, but unnecessary use of these should be caught in code review, so I don't think it's a big deal. Not sure what correctness features OCaml could add beyond those, but then again I've never programmed in OCaml, only Scala, so I might be wrong.
Re:We chose Java for our high-frequency trading application
by WJW on Monday October 26, 2020 @03:09PM
(#24899952)
This is perhaps the most "blub" comment ever written. There are whole classes of bugs that can be caught with more advanced type systems that the Rust type system + borrow checker will never catch. No null pointers and immutability is the bare minimum.
If you're interested, check out https://www.youtube.com/watch?v=10gSoVZ5yXY for an example of the types of compile time guarantees can be had.
Re:We chose Java for our high-frequency trading application
by tormeh on Monday October 26, 2020 @07:48PM
(#24902940)
Does OCaml have dependent types? I thought that was a Coq and Idris (and Haskell, to a lesser extent) thing.
I am aware that dependent types exist, but quite frankly I've yet to see a popular/ergonomic language implement them. As much as we'd like absence of null pointers, error types, and immutability to be the norm it is not and it will take decades until it is.
That being said: Jane Street is pretty avant garde in this respect. I expect there already is, or soon will be, a successful trading firm which likewise builds its tech brand on Rust and alternatives to Rust standard library primitives. But overall adoption will probably continue to be anemic.