3 ms·
Hey, author of the linked post here. A few thoughts, since some things have changed since that post was written: First, the tooling limitations that I mention
by yminsky 8y ago
Hey, author of the linked post here.
A few thoughts, since some things have changed since that post was written:
First, the tooling limitations that I mentioned in the article have gotten a lot better. In particular:
Merlin now provides IDE-like functionality for your editor of choice (including code, vim, and emacs).
Also, Dune is an excellent build system for OCaml that does an enormous amount to simplify the build process, and tie a bunch of different tools in the ecosystem together. One great thing about Dune is it does a lot to unify the experience we've long had inside of Jane Street with the open-source OCaml experience. It's really a big upgrade.
We've also made some progress on debugging tools, like the spacetime allocation profiler. There's also active work on making GDB/LLDB debugging in OCaml really first class.
Also, OCaml has had some major industrial uptake. Notably, Facebook has several major projects built in OCaml (Hack, Flow, Infer) as well as their own syntactic-skin-plus-tooling on top of OCaml, in the form of Reason. Reason has gotten a lot of traction in the webdev world, which is awesome. Bloomberg, and Docker are some other big names that have real dependencies on OCaml, along with some more names you probably don't know like Ahrefs, LexiFi, and SimCorp.
People sometimes feel like Jane Street is the only real user of OCaml, so they imagine that Jane Street's needs are the ones that drive the language priorities. So, the thinking goes, if you're not a trading firm, you should look elsewhere. But this is the wrong picture. First, there are other serious users, as discussed above. Besides, the community doesn't just roll over and do what we say. If you don't believe it, go and see how often our PRs to OCaml get rejected.
And even our interests in the language have grown beyond what you might imagine a trading firm would care about. We use OCaml for building traditional UNIX system software, like MTAs, for designing hardware (via HardCaml), and for building dynamic browser-based applications (via Incr_dom).
For sure, there are still challenges of being a minority language (and there's still no multicore GC, despite some exciting progress). But I believe OCaml is a yet better choice than it was in 2011 when I wrote the article.
- ofrzeta 8y agoYou built your own MTA in Ocaml?
- yminsky 8y agoHilariously, yes.
- yminsky 8y agoAnd, shameless plug, if you're interested in seeing what it's like using a functional language at scale for solving real problems, well, you can apply... https://www.janestreet.com/programming/ https://www.janestreet.com/programming/
- monsieurbanana 8y agoI'm 27 years old and I haven't prioritized my career as much as I could have. For example I've joined teams that allow me to work remotely from countries of interest instead of searching for ones that had the best environment for growth as a software developer. I'm not unhappy at all with the choices I've made so far, but my goals in life are changing and it's making me wonder what it takes to be accepted into companies like Jane Street. Skill wise I think I'd have to start as a junior developer, which I don't mind, but perhaps having 4-5 years of working experience would disqualify me for those entry level roles?
- krupan 8y agoYou mentioned HardCaml in your other post, but I don't see any hardware positions on the website. Are you guys really doing hardware too?
- yminsky 8y agoRight now, we're looking to hire an FPGA engineer in London. Our hardware team is still small, but I expect we'll be doing more hiring as time goes on. https://www.janestreet.com/join-jane-street/apply/ldn/full-time/fpga-engineer/ https://www.janestreet.com/join-jane-street/apply/ldn/full-t...
- amelius 8y agoSeems like a nice and interesting company to work for! Except I honestly wonder ... how do you explain to your friends and family what kind of work you do, and how it makes the world a better place? (besides "making the market more efficient") The answer to this should be placed more prominently on the website, imho.
- 2_listerine_pls 8y ago