See also, "preliminary step a of part 2 of my senior compiler project."
Aren't compilers classes common in undergraduate CS programs? Don't they all do this?
E: In case you were curious, "part 2" of the project was implementing a LL(1) recursive descent parser, so you had to juggle the grammar to work with that kind of parser.
Exactly. Now that I have a Mac, Mac fanboys all assume I'm one of them and come up to me in the coffee shop to say, "hey, aren't we so much better than everyone else because of the computers we bought?"
I proceed to rant about all my little pet peeves about Mac OS X and say that as soon as I get around to it I'm installing Boot Camp and putting Linux on it.
I recently acquired a MacBook after using a variety of standard laptops with Linux installed on them.
In my experience, the Mac is better as a /consumer/ laptop, while the Linux box is better as a /geek/ laptop. I'm sure that I'll get better at getting under the Mac's hood at some point, but right now it's frustrating to have to use GUI tools for everything.
In general, everything (apps, UI) in Mac are prettier and easier to use than their *nix counterparts, but /far/ less functional.
Also, Mac OS X is internally UNIX-y enough to make me /think/ that things still work in the same way, but are different enough to make me sorely disappointed when I find out that I was mistaken.
I think that Norvig's point in this article is that to really learn to use a language, along with all of its specific idioms and everything (so that you're not just writing "Java in Python"), one needs to study and use it for far longer than the learn-quick books would suggest.
I think you're misunderstanding what the OP is looking to do.
Aren't compilers classes common in undergraduate CS programs? Don't they all do this?
E: In case you were curious, "part 2" of the project was implementing a LL(1) recursive descent parser, so you had to juggle the grammar to work with that kind of parser.