New Language Thursday - Reloaded

Let’s be realistic and reduce the list to something manageable in the next couple of months.

  • OCaml (now that I started it I want to continue)

    • Getting started: Either add some features to mtail, or start a new one.
    • Project: Mirage OS sounds interesting. Alternatively, I would love to take a look at the formal verification tools available. But it seems that although OCaml advertises as industrial grade language (which I honestly believe now), the list of industrial grade software …

And a roadmap

  1. Rust

    • Getting started: I really don’t know yet.
    • Project: ?
  2. Erlang

    • Getting started: I need to find some good resources on setting up dev env and stuff like this.
    • Project: no clue yet, but it should be something distributed.


Mid-term Evaluation of New Language Thursday

Wow, it’s been more than two years since the original new language Thursday post. Back then, I wanted to learn the following languages by (a) following a tutorial of some sorts and (b) apply my knowledge to a small task that (in the best case) leverages the unique features of the language. Let’s see how far I got.

  • Erlang: I did quite some tasks on using erlang, but my postfix mail address server turned out to be not that interesting to write at all. Besides, deploying erlang projects reminds me of the whole maven mess.
  • Rust: Read a tutorial at 2am, stopped at the first incomprehensible borrowing section. I definitely want to try again, but I need a good project to motivate me.
  • Scala: Finally, a success story. I actually get paid for developing scala at SAP Big Data. Real world use cases are thus check-marked.
  • Julia: I abandoned this in an earlier post, didn’t I? If not, I’m abandoning Julia right here. It is still an underdog language in a world dominated by python and R, and neither do I need much number crunching nowadays nor am I convinced by it’s features.
  • Haskell: I’m pretty scared, let’s postpone this. But Bartosz Milewski does a pretty good job sparking my interest.

I think this can be scored as okay-ish. Apart from the shift from Thursday to Friday (not affecting the NLT trademark), I intend to revive this series. Perhaps now is a good time - I’m still in parental leave.


My first OCaml project

After I finished the MOOC on OCaml recently, I really wanted to use it in a real world scenario (as opposed to the web-based editor in the course). As it happens, I also required a command-line tool for disentangling log messages, so I went ahead and wrote it in Python first and reimplemented it in OCaml afterwards. It’s on GitHub. The python implementation took me about 1 hour (including tests and so forth) and was mainly to figure out what the software should do.

Main takeaway: OCaml is awesome, and the tools are as well. However, I spent most time on this project on getting oasis to run as I want it to (and I’m still not convinced that I have set everything up correctly). But seeing the man page created by Cmdliner is just worth all the trouble!