Reviews and Comments

Ethan Blanton

elb@bookwyrm.social

Joined 2 years, 6 months ago

I read mostly:

  • Computing books, including: Programming books (theory and practice), History, Culture
  • Electronics books, mostly older
  • Sci-Fi
  • Fantasy

You can find me on Mastodon as @elb@mastodon.sdf.org.

This link opens in a pop-up window

Robert Kirkland Kernighan, Rob Pike: The Practice of Programming (Addison-Wesley Professional Computing Series) (1999, Addison-Wesley Professional) 4 stars

A compendium of practical matters of importance to working programmers.

One of the most approachable texts about thinking about programming

5 stars

Brian Kernighan is one of the best technical writers around, and that statement is supportable in many ways; Wikipedia claims that The C Programming Language has been used as a model for technical writing, and certainly I have seen it favorably referenced in many contexts for its writing style.  Rob Pike belongs to a generation younger than Kernighan and Ritchie, but his writing rapport with Kernighan is obviously excellent; both The Practice of Programming and The Unix Programming Environment are truly excellent books, and they benefit from both Kernighan’s tight technical prose and Pike’s sense of cleanliness in solutions.  (Which is not to say that Brian Kernighan does not also have some clean technical solutions!)

That is to say, The Practice of Programming is an enjoyable book to read for its style as well as its content.  The content of the book consists of a collection of broad practices of …

Frederick P. Brooks: The Mythical man-month (1982, Addison-Wesley Pub. Co.) 4 stars

Classic text on the human side of software engineering, containing essays on the management of …

As relevant today as it ever was

5 stars

The Mythical Man-Month is a collection of classic papers on software engineering, with some additional commentary (particularly in the 1995 edition) and connective tissue to turn them into an approachable narrative.  It dates from a time when software engineering consisted of moderately large teams of programmers working on software packages written mostly in assembly or machine language for mainframe and minicomputers.  The majority of the essays in the book are from the author’s experience on the OS/360 operating system project for IBMs enormous System/360 mainframe computer.  At the time, OS/360 was one of the (or possibly the) largest software development efforts ever attempted.

While the above description makes it sound like the Mythical Man-Month is as dated as the woodcut of a mammoth struggling in the La Brea tar pits found on its cover, the author did an amazing job of extracting insights about software development that not only stand …

Ken Barbier: CP/M Assembly Language Programming (1983, Prentice-Hall) 4 stars

A great beginning-to-end primer for a programmer

4 stars

If you have a little bit of experience with programming (but it's probably not necessary to have a lot; I'm not a good judge of that case), this book is an excellent beginning-to-end explanation of how to interface with CP/M to do real work.

It has a little bit of information on using CP/M, but I think there are better books for that. It may make a good refresher on those topics.

It has a little bit of information on 8080 programming, but you're going to want a separate reference for that; the Intel data sheets are perfectly adequate. It includes op code and instruction encoding tables in the appendices, but no detailed description of individual instructions that are not used in specific examples.

Where it really shines is a thorough and well-paced introduction to using the various CP/M services (from console interactions to disk I/O). These services are illustrated …

Gerald M. Weinberg, Gerard M. Weinberg: The Psychology of Computer Programming (1988, Van Nostrand Reinhold Company) 4 stars

This landmark 1971 classic is reprinted with a new preface, chapter-by-chapter commentary, and straight-from-the-heart observations …

Still interesting after 50 years

4 stars

As a professional educator in the field of computer science, I find much in this book that resonates even 50 years later. The technologies have changed (almost all of the examples in the book are machine language, assembly, PL/I, or FORTRAN, with a passing mention of BASIC as a hobbyist's language), but many of the struggles and though processes remain very familiar. Unfortunately, many of the questions that Weinberg poses as open for future study seem to be open still today, such as finding ways to give programmers just the right amount of motivation to keep them learning without overwhelming them!

The book is divided into four major parts: I, Programming as Human Performance; II, Programming as a Social Activity; III, Programming as an Individual Activity, and IV, Programming tools; plus a final very brief V, Epilogue. I found parts I--IV increasingly compelling as they progressed, with I being of …

Duane E. Sharp: Handbook of interactive computer terminals (Hardcover, 1977, Reston Pub. Co.) 3 stars

Neat book, but read the PDF

3 stars

I was very excited to find out about this book and ordered a copy immediately. It is neat, and interesting for the retrocomputing enthusiast, but its numerous errors and confusing text limit its value. A PDF is available on archive.org, and probably a good way to experience this book.

The first few chapters describe interactive terminals, drawing distinctions between hard copy terminals and display terminals, simple and intelligent terminals, etc., and describing various modes of communication such as current loop, EIA RS-232 C, and modems. These chapters are hard to read, variously due to simple errors (for example, stating that a 5x7 dot matrix print head has 5 pins, and then implying that the rows of dots are printed top-to-bottom, one row at a time), confusing explanations and figures apparently drawn from other sources without close attention to terminology or flow, and apparently missing or elided text (as another example, …