Thursday, June 28, 2007

Compilers courses separate the men from the boys

Steve Yegge has a recent post on the importance of compilers in a computer science curriculum.

"One reason many programmers don't take compilers is that they've heard it's really, really hard. It's often the "capstone" course of a CS program (OS often being the other one), which means it's a sort of "optional rite of passage" that makes you a Real Programmer and puts hair on your chest, regardless of gender or chest-hair preference."

"Designing an effective undergrad CS degree is hard. It's no wonder so many ivy-league schools have more or less given up and turned into Java Certification shops."

Sad but it seems this is true. Compilers course is very hard and I know it damn well, having taken this under Prof.Wei Chung Hsu in my Masters at the Univesity of Minnesota. We designed a small compiler for a language appropriately named C-- ; Our compiler could produce MIPS assembly language instruction set , which we would optimizie in the final phase for reducing redundant loads and stores , which we would then run though a MIPS simulator(SPIM, I believe) for execution.
In fact, one reason I took the course was that I wasn't happy with the way compilers was taught in my Bachelors, and I knew that I would never get a chance to learn them again in my professional life.

If some Software Engineer/CS student understands compilers, I would rate him very highly.
The only courses tougher than compilers at University CS programs are the ones dealing with Complexity Theory, Turing Machines and automata theory.

Tuesday, June 26, 2007

Netscape founder Marc Anderssen may have joined joined the blog world late, but he seems to make up for lost time by coming up with great posts after posts. A must read for anyone aspiring to be an entrepreneur.

If you want to know how to approach VC's , or how to become a VC backed entrepreneur , it is a must read.