I recently started a new job at Arena.io. One of many things that attracted me to the role was that they proudly use OCaml. Even if you’re a professional developer, you might not know of it. It’s not a widely used programming language, but it has been highly influential on many of the most cutting edge programming languages. If you’re not an OCaml, suffice it to say, this post probably won’t be that interesting to you.
You’re still with me, so I guess you’re at least familiar enough with the OCaml to hear me out. So here’s the hot take I promised: OCaml’s future is Reason.
I’m really new to the OCaml scene, so I must humbly admit that there’s a whole lot of context and history I don’t know. There’s a lot about the basic language I don’t know. So maybe I’m way off base. Or, maybe, my outsider perspective gives me some objectivity that an insider might not have. A little of both, perhaps. Oh well, I’m sure I’ll learn from the feedback.
What is Reason?
So, it’s kind of like CoffeeScript, in terms of being a language designed to make another language a little more friendly to work with. But Reason just is a 1:1 mapping to standard OCaml, whereas CoffeeScript introduced features that mapped in nontrivial ways to JS. So that actually makes Reason less ambitious in scope than CoffeeScript.
The reception of Reason
It has been interesting to observe the reception of Reason. Before starting my OCaml journey, I was already aware of the buzz around Reason from dev friends and people on message boards. People seemed impressed by the fact that Facebook is using it as their preferred language for making React applications. Some of these folks are frustrated JS’s poor support for immutable programming and TypeScript’s lack of soundness. Others are intrigued by a smoother onramp into learning a language they had maybe been a bit intimidated to learn.
Why I’m sold on Reason