Book review: Write Great Code <i>by Randall Hyde</i>

Book review: Write Great Code by Randall Hyde


In our era of more powerful personal computers, applications that were once quick and simple have become larger, slower, and full of bloat. Any one of these application’s developers would have done well to have picked up a copy of Randall Hyde’s Write Great Code Volume 2: Thinking Low-level, writing high-level, published by No Starch Press. Write Great Code Volume 2 exceeds its goal of helping developers pay more attention to application performance when writing applications in high-level languages. The author of this book makes it clear that the focus is to produce higher performance applications by better code design, and not by code optimization alone. This book is a must for any high-level application developer.

Write Great Code Volume 2 CoverWrite Great Code Volume 2 Cover

Write Great Code Volume 2 is another title from the publisher No Starch Press, featuring the recognizable cover color schemes, and also the "I lay flat" binding that makes it easier to keep the book open when typing out program examples. Even though the book is quite large, it is not difficult to read on the go.

This book is a must for any high-level application developer.

The contents

Write Great Code Volume 2 weighs in at a hefty 615 pages, encompassing 16 chapters, an appendix, and an index. The book covers contents including how to read and understand assembly, assembly language on different platforms, and generating assembly from compiled applications. The rest of the book focuses on programming concepts and the machine-level instructions that are actually executed when the high-level application statement is used. Among the programmatic concepts used are variables, constants, arrays, strings, pointers, records/unions/classes, expressions, control structures, iteration, and functions. Each chapter does a good job at going into depth on the respective topic.

I especially enjoyed the author’s discussion of pointers. Pointers have been a tricky item to master for some programmers, but this book does a nice job of explaining them, and how they are used at the machine-level.

Who’s this book for?

This book is perfect for an application developer who uses a high-level language, such as, but not limited to, C and C++. C and C++ are used most often in the high-level examples, but the principles apply to just about any programming language.

Relevance to free software

Write Great Code Volume 2 is very relevant to free software. This book presents code snippets and building blocks that can have an positive impact on free software and non-free software alike. Both free and proprietary compilers and assemblers are mentioned, but most of the concepts apply to programmers regardless of the "freeness" of the software.

Pros

If you are a high-level C or C++ application developer, you should pick up a copy of this book. The author presents some ideas and examples that you might not have thought of before. In addition, the text discusses some important details regarding the 80x86 and PowerPC architectures. If you want to write code that produces the best performance, this book is for you. A discussion of assembly code is provided in the early chapters, so knowing assembly isn’t necessarily a requirement to reading this book.

The author’s writing style makes reading this book a pleasure, even though assembly can be a tedious and somewhat slower topic.

Cons

I really couldn’t identify any major cons of this book. I felt it was very solid.

Title Write Great Code Volume 2: Thinking Low-Level, Writing High-Level
Author Randall Hyde
Publisher No Starch Press
ISBN 1593270658
Year 2006
Pages 615
CD included No
FS Oriented 9
Over all score 9

In short

Category: 
License: 

Comments

EmmaUK's picture
Submitted by EmmaUK on

This is a very good book. It gives a lot of insight that most of us are not thinking of when writing code. You will have a lot of 'ohhhh I see' or 'ouch I did that'. Enjoy and learn from some of the best.

Author information

Jeremy Turner's picture

Biography

Jeremy Turner enjoys freelance writing when given the opportunity. He often plays system administrator, hardware technician, programmer, web designer, and all-around nice guy. You contact him by visiting his web site.