

Ask HN: Examples of good writing in computer science? - chewxy

Hey fellow HNers<p>I&#x27;m about to go off for a holiday and I&#x27;d have many hours to kill on the plane and I&#x27;d like to spend some time reading. I&#x27;ve started work on writing a book on virtual machines and ECMAScript, and I would like some examples of good writing for computer science for inspiration.<p>An example I liked is K&amp;R C. It&#x27;s clear, and to the point. It is however, also a little dry. TAoCP is also very dry and it takes a lot of work to read it. PRML is a good read but can be intimidating at certain points. I also found On Lisp to be a good read if a little meandering.<p>What are your favourite compsci books that are well written; easy to understand and follow;  and caters to multiple reading levels, from newbies to advanced readers?<p>What to you, makes good writing?
======
swanson
Not strictly computer science - but the one textbook that I really liked from
my computer engineering degree was "Computer Organization and Design: The
Hardware/Software Interface" ([http://www.amazon.com/Computer-Organization-
Design-Fourth-Ed...](http://www.amazon.com/Computer-Organization-Design-
Fourth-Edition/dp/0123747503)). It was surprisingly readable and easy to
follow. It covers the design of a MIPS processor from the ground up (ALU,
caches, memory, pipelining, etc) and also is self-aware enough to not pretend
that x86/ARM don't exist.

------
vergeman
I suppose it depends on your approach - my two cents - is your book . . .

a. geared toward programming / learning a language? I've been surprised, given
the sparsity, the efficacy of a "showing-by-example" style of writing seen in
the Apache Thrift documentation. K&R (to me) is decent for language
acquisition, but even more useful as a quick "how did they do that again"
refresher. I've found "Linux Kernel Development" (Love) as a very nice book
blending concepts with programmatic examples. So the above is maybe a spectrum
within this style of writing that I've found helpful.

b. a more "textbook" / algorithmic approach? I remember thinking "Computer
Networking: A Top-Down Approach" (Kurose, Ross) was one of the lighter texts
that didn't necessarily feel "textbook." "Introduction to Information
Retrieval" (Manning, Raghavan, Schutze) also comes to mind, but more academic.

~~~
chewxy
I don't think I am ever qualified to write text book material. Bits of the
book I suspect will be "How I got to this point in the code".

There will be a lot of show-by-example. I've written half a chapter so far and
it does really feel like I'm just annotating my code, which isn't a good
thing.

~~~
vergeman
I hear that - skim through Love's Linux Kernel Development and see what you
think. It sounds like you're going for something much lighter, so maybe
something along the lines of the "Little Book on Coffeescript?"

------
ktf
Didn't even have to think about this one: _Eloquent Javascript_ , by Marijn
Haverbeke. He's an amazing writer and a brilliant all-around guy. Technically
it's geared toward new programmers, but it's worth a read at pretty much any
level.

You can find it free online here:
[https://eloquentjavascript.net/](https://eloquentjavascript.net/) or buy a
print version here: [http://nostarch.com/ejs](http://nostarch.com/ejs).

(Full disclosure: I'm listed as the editor on the print version, though in
this case my job basically consisted of nodding as chapters came in and
saying, "Yup, that's a damn good book.")

------
LocalMan
Programming Pearls: [http://netlib.bell-
labs.com/cm/cs/pearls/](http://netlib.bell-labs.com/cm/cs/pearls/)

Best Software Writing:
[http://www.joelonsoftware.com/articles/BestSoftwareWriting.h...](http://www.joelonsoftware.com/articles/BestSoftwareWriting.html)

Last resort: Bring a sleeping pill and sleep through the flight.

