Channels ▼

Developer's Reading List

, May 22, 2012 The most interesting books of the last month, selected and reviewed by Dr. Dobb's editors.
  • E-mail
  • Print

Also Received

Node, Up and Running

Tom Hughes-Croucher and Mike Wilson

Node.js is what all the cool kids are doing these days. It's a layer over Google's V8 JavaScript engine that supports, among other things, doing file I/O on the local system. This enables developers to use JavaScript for writing apps that are not browser-bound, including server apps. Node (which is emerging as the preferred spelling to the original node.js) includes libraries that perform fast, non-blocking I/O, which is used in lieu of parallel execution to gain good performance, while preserving design and code simplicity.

One of the biggest obstacles to using Node is getting it set up and tasting the magic. This slim volume takes you quickly through download and setup; and then it walks through basic coding examples that exercise the various libraries (including using NoSQL databases, Web services, and the like). The book is clear and approachable and is probably the best place to start if you want to kick the tires on Node. Recommended.

— ALB

TDD for Embedded C

James W. Grenning

A short, clear introduction to TDD and how to apply it to C code (using CppUnit and Unity as test frameworks) in embedded contexts. Testing hardware with unit tests depends in no small part on the use of mocks to simulate hardware components that must respond to software actions. For this, the author uses CMock and explains it well.

The book is a particularly good option for embedded developers new to TDD because it covers the basic philosophy of TDD, the desirable traits of unit tests, and it does a good job of explaining why unit testing is so beneficial. It does not really make a convincing case for test-first development, however, nor does it explain to any depth the necessary refactoring required by the TDD approach. To be fair, most books on TDD are weak in these two areas. The difficulty of refactoring C makes the issue even more complex in this case. However, for a good book on unit testing embedded C, this is an excellent place to start. Recommended.

— ALB






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.