The Stackoverflow developer survey results are out. This only surveys people who use Stackoverflow and decide to take the time to take the survey; it is not a survey of all programmers or even all SO users. I nevertheless find parts of it a little bit interesting. One part I found somewhat interesting was this section on “loved” and “dreaded” languages,
and in particular comparison of OCaml with other functional languages, especially F#, since it’s the widely-used language that is most similar to OCaml.
It’s not surprising that F# is more “loved” than OCaml if, as I believe, there are more F# users than OCaml users. You have to use a language to love it.
What’s more interesting is the ratings for “dreaded”, which “means that a high percentage of developers who are currently using the technology express no interest in continuing to do so.” OCaml is listed in the middle of the “dreaded” list, while F# doesn’t make it onto that list. I don’t know why there would be that difference, though I could generate speculative answers. One question is how many people there are who are using OCaml who didn’t choose to use it. If the number is small, then it’s easy to get a high percentage just by chance.
(Interestingly, F# makes it on to the “most wanted” list, which means that it is a “language that developers who do not yet use it most often say they want to learn.” In this case, it seems likely that F# makes it onto the list while OCaml doesn’t simply because there is a natural path from C# to F# without a lot of competing languages, and there are many C# users. If you’re a C# programmer and want to explore functional programming, F# would be a natural language to consider. Traditional OCaml draws from various user communities, I assume, but it doesn’t allow you to build directly on what you were doing in the other language (unless it’s C, I guess), unlike F# with C#. Of course JSOO and Bucklescript provide a natural path from Javascript and other Javascript-based languages, but there’s a lot of competition in that space, with competing functional languages. So I think the fact that F# is listed as wanted while OCaml isn’t is a function of differences in the two anguages or their libraries or communities. It’s just a matter of relationships between languages and communities.)