Hacker News new | past | comments | ask | show | jobs | submit login
Books and papers every graduate student should read (might.net)
112 points by fogus on July 19, 2013 | hide | past | favorite | 46 comments



I wish people would recognize their own bullshit from time to time and just titled those posts "books I enjoyed", otherwise it turns out more into "every graduate student should read what I had read" or "books I would like people to think I read so I appear smart", e.g. the frequency with which each book appears in lists like this is greatly different from the frequency each book is actually read.

On a more technical note, "Compilers" is a great book I enjoyed quite a bit, but it hardly is a great reference for compilers, it isn't even a very good textbook those days, it is very specialized in parsing and lexing and isn't very well balanced, there is much less about backend/runtime/optimization stuff which is the bigger part of compiler-writing those days, and the whole book is far, far removed from practice, it is perfectly possible to read it cover to cover and still have very little idea about how to write an actual compiler. There are much better books those days both if you want to simply write your own compiler (books by Appel, Cooper/Torczon, Grune) or have a reference of the state of the art in compilers (famous book by Muchnick). I would say "Compilers" is more similar to a monograph in specialized topics than to a textbook or reference book.


No one ever reads blog posts titled "Decent books worth reading for some people" or "Mildly useful advice that applies in certain situations". The format of the web and sites like HN and Reddit almost forces hyperbole.


mattmight is a University professor, and presumably advises graduate students in his department. So he's in a slightly different role than your average joe programmer or even rock star computer scientist at the latest startup of Y-combinator fame.

In my masters program, there were about 16 books that I saw in every single one of our professors' offices. Over my coursework there, I had to buy about a dozen of them for specific courses. Before graduation I bought the others. While I haven't read every single one of them from cover to cover, I have extensively referenced every one of them. His list should serve the same purpose for the audiences he's identified.


Even in this position, or maybe especially in this position, I think it is downright harmful to suggest that there are books every student should read, like there is some canonical set of books that will make a great researcher of you and the world would become a better place if everyone would read the same set. I shared this view for a good while and I deeply regret it, you should instead focus on your problem domain and on problem solving, choose your lectures independently, don't get too bound or too concerned about books in general, and stay deeply critical of anything you read - e.g. you should deliberately look for holes even in the most praised works instead of admiring them blindly. That's the way you can progress and not just keep copying what others have done. And it is very good that not everyone has to and not everyone does read the same books.

In the end it is not about the fucking books anyway.


He did not give a list of books for everyone to read just suggesting 4 books to be used as references for graduate level writing which I find hard to argue with. Along with one for presentations and persuasion which you are going to do so I doin't think there is as much to argue with as you might think.


I got my PhD at that same university in that same field (PL, but before Might's time as a professor there), and I didn't read any of those books (I read TAPL afterwards). My adviser tried to get me to read one of the writing style books, but I seemed to have figured it out by myself :)

People are diverse. There are no must have books but there are many books appropriate for your context (writing your first paper, need help with style? Read that book, or let your adviser beat it into you).

It is OK to provide a list of things nice to read, even better if you list the demand context where the book will be useful. But to use an absolute...that could confuse incoming grad students.


Care to share the list? I think that I can guess what might be on it, but I'm still curious.


Can you name the 16?


> it is perfectly possible to read it cover to cover and still have very little idea about how to write an actual compiler.

I learned how compilers worked by studying a Pascal compiler written in BASIC that was published by BYTE back in the 70's. I thought the way it worked was a revelation, and completely magical.

Compiler books in general, however, tend to omit the messy details one has to deal with in building a production quality compiler.


I've heard several people say good things about BYTE. It's a shame there's nothing similar today. (Yet another thing for my list of what to do when I have lots of money).

The Pascal compiler in BASIC was "Tiny Pascal"?

Someone might have some scans of the issues here (http://atariage.com/forums/topic/167235-byte-magazine/page__...)

Here's a PDF about TinyPascal (http://www.colorcomputerarchive.com/coco/Documents/Books/Pas...)

I find lots of links talking about it, but without downloads eg (http://www.vintage-computer.com/byte.shtml)

Here's some discussion of something called "Augusta" which is a 'tiny Ada'. (http://computer-programming-forum.com/44-ada/240dcc3af63e1fa...)


Yes, it was Tiny Pascal. I still probably have the issue buried in the garage somewhere.

I'm also partial to Creative Computing in the 1970's. It was full of fun artwork and silly games you could type in and run, and unabashedly optimistic editorial content. It's forgotten now, but it was very influential for me.


On a related note, I came across:

"Source Text of Compilers": http://exmortis.narod.ru/src_compilers_eng.html

Does not have Tiny Pascal - but appears to have a few other variants.


Completely agree on your last point. I have written a compiler for a small subset of something like Pascal for the JVM and it was among all other things a big exercise in software engineering. E.g. several times almost all the structure of my code became obsolete because a change in grammar or a need of doing different passes through the code / parse tree was required for a new feature in the language to work and that completely changed how everything else needed to work.



I feel like you're reading a bit much into a submission title. The page isn't titled that way and doesn't read in a way that suggests it.

I think I get where you're coming from though. I often wonder how many people have actually read the typical list of "classics" and "must haves" that are continually recommended without context, reasoning or even a gist.


You must be using Chrome. The submission title is the HTML title of the page.


While this HN post is certainly guilty of the puffery you describe, the actual site is just a collection of resources this professor thinks are useful for various categories of grad students.


I'm a big fan of mattmight, but I have a problem with the very first book on his list. My academic background is the behavioral sciences, and using MLA will get you in deep dog excrement in most behavioral and social sciences. Our goto style guide is the American Psychological Association's Publication Manual - http://apastyle.org/

APA is predominantly a behavioral and social sciences standard. However, I have a colleague that is currently in a mechanical engineering program and he mentioned just a few days ago that his school has actually gone to exclusively APA for all colleges and departments.


In our humanities grad program we were told to pick either MLA or APA and stick with it. It doesn't matter which, consistency is what matters. Enforcing a particular style across all colleges and departments seems silly. These were the resources we were told to consult:

MLA - http://owl.english.purdue.edu/owl/resource/747/01/

APA - http://owl.english.purdue.edu/owl/resource/560/01/

Anyway, you should have a citations database and whatever citation tool you are using (BibTeX for instance) should be able to pull the citation from the database and format it in one of any number of styles.


It's incredibly rare to find advocates for APA in most humanities fields. I've only come across MLA and Chicago. Was yours a terminal program? Mind sharing the discipline?

The issue isn't so much enforcing a style across colleges/departments as academic journals.


Terminal program? Don't know what that means, too lazy to Google :)

Discipline: digital culture / digital humanities. don't ask! This is in Europe btw, not the US.


Thanks for the heads up. I'll add a note on this.


I've been putting together a similar list for graduate students of computer science focusing in distributed systems:

http://christophermeiklejohn.com/distributed/systems/2013/07...

Edited to add HN link: https://news.ycombinator.com/item?id=6036183


Thanks for this list!


No Jefferson's Virtual Time?


LaTeX is not the lingua franca of Biology/Chemistry. Nonetheless, I wrote my thesis in LaTeX, and spent all of maybe one and a half days getting all of the citations correct, figures on the correct page, etc. Honestly, thanks to LaTeX and a lot of not-stressing-out about things (I wrote it while on vacation in Hawaii), I did my thesis painlessly in about a week, and didn't really understand what the fuss was about.

I would add "Death March" by Edward Yourdon, which should be read even if you aren't in the computer industry.


Wait, is this baity title the work of the submitter? The actual article is much less sensational: "Reading for graduate students".


To any grad student about to give his or her first invited lecture, I would recommend McCall Smith's The Finer Points of Sausage Dogs:

http://www.amazon.com/The-Finer-Points-Sausage-Dogs/dp/14000...

In the first chapter, Professor Dr Moritz-Maria von Igelfeld, renowed scholar of Portuguese linguistics, travels to America to give a lecture. But due to a mixup, his hosts believed they were inviting an expert on sausage dogs. Too shy to correct them, von Igelfeld makes up his mind to speak about sausage dogs...

When I read it I doubled over in laughter. But at the end of the day it reminds you far better than any "serious" book what makes for an effective presentation: humility, confidence, and putting yourself in your audience's head.


I would argue that every adult should read the resources in the first few categories. Really excellent.


One of many benefits of so-called education is in significantly reduced amount time wasted on clueless assumptions and ignorant guesswork. The list makes sense, especially HtDP => ProgLangs => FP + Types "road".

btw, there is a wonderful course based on HtDP2 on Coursera by Gregor Kiczales - the guy who wrote AMOP (yeah, almost no one know what is it.) This course is such a rare example of teaching thinking and doing transformation in your mind instead of coding and copypasting that I sometimes watching some lectures for a better night sleep.))

Another nice idea is to google who Matthias Felleisen is and why he is famous guy. Then, perhaps, one could be able to appreciate what academic guys could do.


Alas, The Lambda Calculus is out of print, and comments on the linked Amazon page indicate it's not available even at the $186 (softcover) or $470 (hardcover) prices.

...though the 3 star review is good for a chuckle.


I guess it must be a joke, but that's a fun review. "I accidently bought this book thinking I was buying a traditional calculus book in order to prepare for a standardized test I had to take. After a few chapters I realized this was no ordinary Calculus book."

Anyway, there is a reprint available now for $25 http://www.amazon.com/The-Lambda-Calculus-Syntax-Semantics/d...


Pretty funny that on the "People also bought..." section in Amazon for the "Even a Geek Can Speak" book is the projector remote the author recommended.


Might's PL PhD student reading list might scare away many prospectives away from PL research. But no, not all of us do theory and lambda calculus.



I did find Knuth's "Mathematical Writing" to be helpful when writing my thesis, and that's on this list. (Even a free .pdf link on that one.)


I would add "The Elements of Style" by Strunk. I think it is a classic in that area.

Edit: Also "On Writing Well" by Zinsser, another classic.


A writing book is a good idea, but not Strunk and White: http://chronicle.com/article/50-Years-of-Stupid-Grammar/2549...

I prefer "Write Right!", although the most recent edition is needlessly long.


Interesting criticism, but not sure I'm convinced.


I have that (Strunk-meister) but never really consult it. Stephen King's (let's put aside what we think of his works for the moment) On Writing is a great style guide even though it concerns writing short stories and novels. Read the technical (non-biographical) part of that book a couple of times and you'll see the words, sentences, and paragraphs that you're cranking out a whole lot differently, I guarantee you. Plus, it's an easy read.


I dislike Stephen King's fiction, but this title is regarded by many as the single greatest book on writing of all time.


I find his fiction enjoyable; it reads easily and his sense of humor is similar to my own. (It is possible to overdose on his style, as I did on Vonnegut after a few volumes.)

"Single greatest book on writing of all time?" We'll part company here too. I read On Writing shortly after it came out, and was entertained through the front half, but can't for the life of me remember a shred of advice from it. I do recall the striking discontinuity in the last part, where he writes about the auto accident that nearly killed him. The writing was obviously different from that in the front of the book, and I felt the topic was out of place, and even self-indulgent. But he gets a bye, 'cause he's Stephen King.


If you are starting off writing, and you're not a freak of nature like David Foster Wallace or James Joyce, and you can get over any revulsions you have about Mr. King, and you'd like to be shown the tools of the craft by a friendly craftsman, for what it is worth I can recommend it. And I want to say thank you (not) to that girl who borrowed my copy and promised to call me and return it and didn't - you suck just a little bit.


If you're going to read "The Elements of Style", you might as well get the "The Elements of Style Illustrated", with very pretty illustrations.

http://www.amazon.com/Elements-Style-Illustrated-William-Str...


I have to take some issue with his:

> When you're starting out with LaTeX, Leslie Lamport's LaTeX book covers all the basics, and it makes a good reference for all of the common things you'd like to do in LaTeX.

> LaTeX, as it turns out, is a deep rabbit hole. (It's Turing-complete.) When you're ready for your black belt in TeX-fu, Donald Knuth's TeXbook is how you get there.

> This is not an introductory book. This is for hard-core TeX users.

LaTeX is essentially a macro package on top of TeX except TeX and/or it's basic macro package Plain had to be tweaked a little to enable some of the functionality of LaTeX.

His description of Knuth's The TeXbook is not correct: The book is nicely "introductory". Also for an introductory book on a technical topic, the quality of the writing of this book is excellent, one of the best, world-class, maybe exemplary.

I read the book in late 1994 in about two weeks and have used TeX for all my high quality word whacking since then. I use TeX for all my letters, both business and personal, used TeX for one peer reviewed paper in some applied math for a problem in computer science, and used TeX (to document for myself) the core, original applied math for my startup.

I have about 150 macros written in TeX for simple lists, ordered lists, unordered lists, titles, table of contents, cross references, various cases of verbatim (where get to type text that looks like TeX commands but the text gets treated by TeX just as-is or verbatim instead of as TeX commands), some automatic push down stack dynamic storage that conforms to the scope of names rules of the nested block structure, etc.

Part of what is good about TeX is the ability to write macros; any TeX user should be able to write a macro of a few lines easily as needed, if only for some one document.

TeX, without LaTeX, is fine, perfectly usable.

And for a "black belt in TeX-fu" read the five volumes or so of Knuth's detailed documentation of the source code of both TeX and Metafont.

LaTeX is now quite an advanced macro package, far beyond my 150 macros or what a user should try to write for themselves. But, the manuals that describe LaTeX well are much thicker than Knuth's The TeXbook and, in my opinion, less well written.

Mostly people who want to do high quality word whacking, especially with some mathematical material, with TeX or LaTeX likely should just start with LaTeX and there maybe the book the OP recommends, Leslie Lamport's book.


No, they aren't.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: