A few weeks ago I listened to a talk that really got me curious about OCaml. OCaml is a programming language I saw and kind of shrugged off many times in the past. Not because there is anything wrong with the language, just because it doesn’t (at least not overtly) play in any of the domains I play in. I’ve seen blogs on Jane Street about OCaml, as well as articles about writing compilers in OCaml, but that’s but the extent of what I’ve seen. I haven’t seen any DevOps tooling, cluster computing or distributed computing frameworks written in OCaml so why bother?
In my quest to learn as much as I can and to become more enlightened I kept concluding that there is nothing wrong with a completely pedantic exercise in programming. I could learn a great deal about programing from OCaml, couldn’t it? There are great compilers written in it, fantastic rules engines and really smart people love it so why not just learn the basics? Why not build a small project in it? With that mental exercise, here I am starting OCaml.
Where to start?
I looked at books and some paid resources and didn’t really find anything that worked with my style of thinking. I got an email from CodeWars; a service I actually meant to unsubscribe from but I just having gotten around to it. I dug into their site and learned they some awesome katas, especially for OCaml! I don’t need to learn why an Integer is, or how a loop works but working through problems in OCaml will help me learn it better than anything else. As for the “idiomatic” way of writing OCaml, I can always pick that up later.
In order to maintain some accountability, I’ll check back in at the end of March. I plan to complete a kata each day until I get bored with them. I will report back how many I completed and any interesting notes I have on OCaml.