Continually experimenting with new ideas and techniques — Reconstructing, Developing, Modernising.
One of my favourite courses in Computing at university was compiler writing, and nearly three decades after taking it I am still in touch with the person who taught the course. That course fuelled my interest in programming languages, which has survived the decades reasonably intact.
Recently I picked up Tom Stuart’s Understanding Computation book, and I’m working trough it with a pry window open alongside the electronic book. It takes me back a bit, and makes me realize how much I’ve forgotten. If you’re interested then he did an interview on the Ruby Rogues podcast recently, and it is entertaining and enlightening listen.
If I tell the truth, I bought the book a while ago with the intent of reading it before the Ruby Rogues episode. Good intentions, good intentions…
One of the parts of the Ruby Rogues episode which most interested me was Tom’s explanation of why he used Ruby. I found it interesting because I haven’t been able to express why I like using Ruby as well as he does:
The notion of a program as like a roiling pop of collaborating objects that are all just sending messages to each other and being able to go in and modify the method tables of those objects and put new implementations of methods into them whenever I wanted to meant that I could do this slightly weird thing where we’re walking through a chapter and it’s really just an annotated IRB session where I’m just, “Now if you paste this in on the console then all of your objects have this new method and you can actually call that method on those objects.” It felt like a natural way of explaining stuff and I was really happy with that because it helped me solidify some of the things that I really enjoy about Ruby. And actually, since writing the book I feel more enthusiastic about Ruby now.
I’m a few pages into the book and I’m glad I bought it!