I was excited about this one; it was posted by the compiler group at Digital.
A compiler, for those who aren’t as technically minded as others, is a computer program which turns human-generated code in languages like C, Fortran, C++, or Java, into machine-readable code (applications). Compiler design, theory, and implementation is an entire specialty in the field of computer science.
One of the best courses I took at Rice was the Compiler Construction course I took in Spring of 1986. I will use a real name here: the professor was Hans Boehm, one of the authors of the Boehm-Deemer’s-Weiser garbage collector. The course was absolutely outstanding, and Dr. Boehm was one of my favorite professors at Rice.
We started the class waiting for the textbook, which arrived the second week of the semester. Boehm taught us about parsing, recursive-descent parsers, and LA and LALR(1) grammars. We had one homework assignment, and a trivial lab, and a midterm right before spring break. I was holding on, but theory work in computer science was a big weakness of mine until very late in my Rice career.
After spring break, Boehm assigned us the big lab. Due the last day of classes 8 weeks later. We were to write a compiler that generated VAX assembly code from programs written in Weird Programming Language (WPL), a toy language created for the course. This language had variables with scope, arithmetic and logical operators, and that kind of thing, but the hardest thing about it was that function types were part of the language, and variables of function types could be passed around, assigned, and actually called. Additionally, we had to do a couple of compiler optimizations, one of which was non-trivial.
If you attended class (or got the notes from somebody who did), and read the book, you could do the compiler. Just took time.
The Computer Science department had made some changes. We now had accounts on all 3 of the VAXes, and could work on whichever one was not too crowded. The terminals were kicked out of the Mudd Building to make room for lots and lots of Macs; we were kicked out to rooms in the side halls of Ryon Engineering Labs. This building is famous for a big pit in the middle of it; the three rooms that had the terminals were in a hallway off to the side of that.
There were about 25 students in the class (by FAR the smallest major requirement class I took at Rice). Of those, only 10 were undergraduates. The graduate students all work on their own machines, which left the 10 of us in Ryon. The very first weekend of the project, one of my classmates (let’s call him “Wiley”) suddenly stopped working, and yelled, “I can’t take it anymore! You! Come with me!”. He had pointed to one of the other classmates, and they disappeared.
They reappeared a couple of hours later, carrying in one of two four-foot stereo speakers. Wiley and his friend then proceeded to bring in Wiley’s high-end stereo and set it up. They had brought a cassette deck, and Wiley’s shiny new CD player. We had never seen one before; Wiley was on the bleeding edge. The music immediately started up. A sign-up list went up for the playlist. Everybody else brought in all of their tapes, and the music basically played for eight weeks continuously.
Throughout junior high, high school, and my first year of college, I thought I was going to be a jazz musician, and I had ignored pop music to listen to jazz and classical. This eight weeks, I was exposed to a bunch of really good music from the late 70s and early 80s. I discovered The Police, Peter Gabriel, Suzanne Vega, Queen, Pink Floyd, Jethro Tull, Emerson, Lake and Palmer, Yes… I wrote them down in my little notebook as they came across the stereo. They also let me play my jazz and classical some.
We, um, also decorated the room.
(Picture courtesy of a friend)
There was also an inflatable Godzilla, pizza boxes on the wall with dead terminals plugged into them, etc.
It was awesome.
I am not sure that the students who were sharing these terminals with us from Advanced Programming (otherwise known as “Team Programming”; think “Group Night” on American Idol, but for an entire semester) enjoyed it as much as we did. At least there were multiple rooms; we only took over one. Oh, well.
I did well on the lab, and made a “B” in the course. One of the best courses I took.
As far as I know, 10 people finished the lab. 9 of them were undergraduates. I don’t have proof of this; I do know of at least seven people who finished, and I heard those stats through the one graduate student I know who finished it.
That leads me back to interview with DEC.
I was SO sick. I had contracted the flu a few days early, and just felt awful. The interview was in the afternoon, and all day leading up to it, it rained and rained and rained in that Houston way of just dumping water from the sky. And I had no car… so I got to the interview in my suit, but pretty soaked and sick and miserable.
It was fabulous. The woman conducting the interview picked up on the compiler course in my resume right away, and we launched into a fabulous discussion about compilers and assembly and lex and yacc and all kind of crazy things, with 8″ x 10″ color glossy photos with descriptions on the back detailing was each one was. The interview flew by, we talked about interesting things, and we laughed a lot.
It was about a good an interview as you could have in a college placement office.
I then crawled back home in the rain, shivering, took a hot shower, and crawled back in bed for a couple of days.
Now I just had to wait and see.