Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Quite a few inaccuracies in there. The ones that jump at me:

  - OCaml does type inference, so you don't actually declare the types and have the compiler check them, as stated in the article.
  - Investors are not market-makers, the two words actually refer to the two types of opposed participants in the market.
  - OCaml is the language used for research, but they actually have a lot of developers working on the compiler and on libraries for OCaml which are themselves implemented in C or C++.
  - Jane Street is hiring massively and not nearly as exclusive as advertised here, though they do indeed pay slightly above the average. Most likely they had a few good years and are investing the cash they made into hiring expensive staff.


Downvoted because I feel this is nitpicking for nitpicking's sake, and it gets more things wrong than right.

> OCaml does type inference

This is an uncharitable interpretation of the author's intent.

> Investors are not market-makers This is a very uncharitable interpretation of the source:

"In one sense, every investor is a market maker and the only difference is their timeline. Jane Street is far along the continuum towards strict market-making: being willing to buy and sell assets at a price close to, but not exactly at, the market price."

> they actually have a lot of developers working on the compiler and on libraries for OCaml [..] in C or C++

Yes, and? The author still makes the correct point that they gambled hard on OCaml.

> Jane Street is hiring massively and not nearly as exclusive as advertised here

I bet they're hiring very selectively for the high value core jobs discussed, even if they have a large support staff that does things like writing OCaml infrastructure in C/C++ and gets paid much closer to non-hedge-fund rates.


Yes, it uses ML-style type inference, but that doesn't mean you are literally unable to annotate types, and the compiler is absolutely still doing type checking. I'm sure people like Jane Street annotate everything.

In addition, perhaps a small point relative to the first, but in Ocaml, the arithmetic operators perform no type inference; there's a separate operator for float-addition versus int-addition, and so on. This somewhat limits your exposure to potential automatic type conversions.


That is not the idiomatic way to use OCaml, so I wouldn't assume they do that.


At least in similar languages like Haskell, what you do is let the compiler infer types and then press an IDE key combination to write out those inferred types as part of your code so you would get an error if you ever accidentally change the types.


Writing `mli` files is pretty much idiomatic or at the very least, not unusual.


Only for the public API boundary.


Some counter-points:

In Ocaml-world it is customary to write .mli files that specify the types of exported functions and modules. Those are then checked by the compiler against the .ml file with the implementation. In the .ml file you indeed use type inference over annotations almost all of the time.

The Ocaml compiler is largely written in Ocaml. C and C++ are not used very much at Jane Street as far as I know.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: