Types and Programming Languages
February 2016, as a birthday present to myself I bought a copy of Types and Programming Languages. At the time the only thing I did with it was to take a photo of it, sharing it on Twitter and congratulating myself. To be fair, I did try reading it, but it was so intimidating that I gave up very early in the book. One and a half years later I’m going to give it another go because a few things have changed.
First of all, I should say that I’ve no academic background in computer science—I’ve studied Zoology. I easily get frightened by any text with more than a few lines of maths in it especially when it’s heavy on symbols which I don’t know, and Google doesn’t help. I’ve had many attempts at learning maths—watching YouTube videos, reading books—but I always gave up mostly due to lack of discipline in doing the exercises. A year ago I decided to do something about it and enrolled into DIT’s B.Sc. in Information Systems and Information Technology. I thought if I’m paying a substantial amount of money for a class in a relatively well-established institute it might help. To my unwelcome surprise, the course isn’t heavy on maths, but it was an immense help, discipline-wise, nonetheless.
The second thing was that due to some unforeseen circumstances, all of a sudden I found myself with plenty of free time and I didn’t want to waste this once in a lifetime opportunity.
After deciding that I want to read the book and be rigorous in doing the exercises, I had to choose a programming language to do the exercises in, and I found it a good excuse to give Rust a try.
I also decided to publish my progress both as in code as well as in a series of blog posts, as suggested by a wise man, Iain. Hence this blog.