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.

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!