CS444

When I started at my current employer (about 18 months ago), I got it in my head I should take advantage of their training budget and proximity to uWaterloo (like the kids are calling it now) and take a course.

For one reason or another (sanity, mostly; also scheduling), I wasn’t able to take [the compilers course](http://www.student.cs.uwaterloo.ca/~cs444/) in my 4th year. Compilers is one of the big project courses. In terms of workload, it’s well behind [real time](http://www.student.cs.uwaterloo.ca/~cs452/) (the train course) and [graphics](http://www.student.cs.uwaterloo.ca/~cs488/), but it’s still nothing to sneeze at.

When I was an undergrad, I think I would have probably preferred to take graphics. But as you get older, you mature. Or something. Yeah, graphics is cool and fun, but I think it would be a harder sell to get my employer to pay for it. Particularly when your employer has its own [proprietary language](http://99-bottles-of-beer.net/language-oscript-526.html) to maintain.

> For my part, I want to encourage people to make their own languages, because doing it makes you a world-class programmer. Seriously. Not just a better programmer, but a best programmer. I’ve said it before, and I’m sticking with it: having a deep understanding of compilers is what separates the wheat from the chaff. I say that without having the slightest frigging clue what “chaff” is, but let’s assume it’s some sort of inferior wheat substitute, possibly made from tofu. –Steve Yegge, [The Next Big Language](http://steve-yegge.blogspot.com/2007/02/next-big-language.html).

I don’t know if I’ll actually make my own language, or move to the compiler team at work, but I do know that understanding this stuff is really, really useful and fundamental to software development. There’s a lot of computer science-y stuff that’s not especially useful, but compilers are everywhere.

4 thoughts on “CS444”

  1. Good to hear that compilers is on the go!

    Hopefully there will be a blog-worthy nugget or two to regale us with!

  2. My teenage daughter is an expert compiler–one look at her bedroom floor will attest to that! Oh wait–maybe that is just “pile creator”…

    Sounds like a challenging course :) However, when I got to the misc. info at the bottom of the course description, I was appalled. “Discipline” and “Avoiding Academic Offenses”? Just the fact that they have to include those warnings in plain language is a frightening portrait of our current culture and general behavior. sigh Although, perhaps human integrity has not actually eroded–maybe it was always dubious and is simply now being noted upfront?

    Hope you get to take the class and thoroughly enjoy it!

  3. Academic offenses are strange because they tend to cover activities which, particularly in software, are perfectly acceptable in the real world. Like working with others.

    I very rarely talked to my classmates in school, so I was always okay.

Comments are closed.