Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level

Sept. 14, 2006
By Randall Hyde
ISBN: 1593270658

This is the second book in the “Write Great Code” series that started with an overview of hardware. This volume narrows the focus to the x86 and PowerPC platforms to provide contrast to various hardware and software architectural approaches.

The premise behind the series, espoused in this book’s title, is brought to fruition in this volume. It starts by examining the hardware platforms and assembler code but in the context of how a high level language like C or C++ will utilize the hardware. The assembler code samples show what a typical compiler will generate for the corresponding C code. Randall highlights the reason and costs so you can learn what kind of high level programming approaches are good and what might not be.

Of course, the downside is that all compilers are not equal and optimizations can radically change the efficiency of an application. Still, understanding the costs and efficiencies of both the hardware and emitted object code are very valuable to embedded developers. It is less but still important for programmers that will be targeting PC and server environments.

The book provides an excellent overview of the topics it cover including data types, expressions and control structures. This makes up the bulk of the book and the approach is consist: look at the low level implementation and then show the C or C++ counterpart. The discussion of various optimizations is good and it will be very useful for anyone who has not concentrated on compiler optimizations in the past.

It will be interesting to see how this series develops. At this point, you will have a good concept of the underlying system and how you and a compiler will take advantage of the system’s architecture. Yet to be addressed are more global considerations such as cross module support and multitasking. Still, this offering continues to fill out the series and provides easy, informative reading.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!