"OCaml -- first impressions"

These remarks are somewhat linked to those in here.

I also want to emphasize how accurate and important these remarks are. The language has its quirks and weirdnesses, but all languages do and I’m okay with that. The thing that really needs improving if we’re to attract new users is exactly the title of the topic: first impressions.

When you have a heavy imperative-programming background such as lots of people have (me included), getting a grip on functional programming is hard enough; you don’t want to have to put up with petty problems due to inconsistent resources/behaviors such as the ones described by Anders. Let me give some examples:

  • Questions I think are important when you’re a beginner
    • WTF, I can’t mutate?! How can I do anything without mutating? :scream:
    • Where are my for loops? :sob:
    • Pattern-matching, you say? :face_with_raised_eyebrow:
    • I got a type error, why is that? :anguished:
    • And so on…
  • Questions a beginner shouldn’t bother with
    • The REPL sucks, is there a way to get anything done with it? :angry:
    • When am I supposed to use ;;? What does it even mean? :thinking:
    • Ok, I installed OCaml. Now where’s a good tutorial?
    • And so on…

Same applies to OPAM. As discussed here, OPAM is giving new users a hard time and this is penalizing OCaml as a whole when it comes to attracting new users.

With all of that combined, you lose interest in learning. As a proof, the article @gasche cites is entitled “First impressions” and it doesn’t mention OCaml’s features at all.

7 Likes