Hacker News new | past | comments | ask | show | jobs | submit login

All those reasons boil down to the first one. You know and like OCaml (better than any other language, apparently), so screw everyone else.

Screw? I think you're the one who should "hand in your programmer’s card at the door" - learning enough OCaml to get started takes half a day and getting comfortable with it is a matter of weeks at most. Of course only if you are a programmer, otherwise you might be screwed.

It was exactly that level of arrogance (the last sentence in the original article) that prompted my first comment. Really, can't you promote your language without personal attacks?

Really, can't you comment on someone promoting their favorite language without accusing them of screwing everyone?


> (...) I think it's clearly dying out at this point.

You seem pretty adamant -- what makes you think that? I think it's quite the opposite: the language and the community never felt as alive and thriving as they are right now.

OCaml's been around in various forms for 30 years. 20 years of continuous development on the current code base. Regular releases through all that time. In the form of ML for 40 years. What makes you think it's going to die out in the next 5 years?

Can OCaml use more than one cpu yet? (genuinely curious, not sarcastic)

Last time I looked into it, the answer was no. I vaguely recall it having to do with stdlib not being thread safe, concurrency issues with the GC, and some other stuff...

OCaml still has a global lock, but there are plenty of ways to do multiprocess concurrency (like Python).

OCaml is a good language, but I agree that it's dying out. Its primary market has generally been academics, and that group has almost completely standardized on Haskell, which is a better language in almost every respect.

Haskell is nice and all, but it's hardly better in every respect. To name a few problems with Haskell relative to OCaml:

- pervasive use of laziness makes space utilization hard to reason about

- Highly complex runtime (mostly due to the need to work around laziness), which makes it harder to trust the correctness of the overall system and to and understand performance

- Significantly more complicated type system, which has its ups and downs. It surely makes the language more complicated to learn in and use in many cases. Benjamin Pierce, no slouch himself, has pointed out that he sometimes has to go read a research paper or two to understand some new library.

- Enforced type-level separation between pure and unpure code, which again, has its ups and downs.

Haskell is a great language. But it surely doesn't dominate OCaml.

And the OCaml community is doing quite well of late, as far as I can tell. There's a lot of new energy in the last few years, with great progress in both the core language and in the surrounding infrastructure.

It's worth pointing out that we've written vast amounts of OCaml in Xen/XenServer from about 2005 (now used in lots of public cloud installations like Rackspace), and much of this choice was inspired by Richard's blogging/code to show how it could be done.

OCaml is almost 20 years old now, which is about the right amount of time to start trusting a language for mission critical code :)

Some of our experiences in Xen that we wrote up for ICFP 2010: http://anil.recoil.org/papers/2010-icfp-xen.pdf

And lots of source code: https://github.com/xapi-project https://github.com/mirage

He could, you know, not have released it as open source if he really wanted to screw everyone else.

execution speed is objective

Screw everyone else?

Registration is open for Startup School 2019. Classes start July 22nd.

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