Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

This Week’s Developer Reading List

A list of book releases compiled by Dr. Dobb’s to keep you up-to-date on software development tools and techniques.

Mercurial: The Definitive Guide
By Bryan O'Sullivan
Mercurial is an easy system to learn when it comes to distributed revision control--ideal whether you're a lone programmer working on a small project, or part of huge team dealing with thousands of files. Mercurial permits a countless variety of development and collaboration methods, and this book offers several concrete suggestions to get you started. The author takes you step by step through ways to track, merge, and manage both open source and commercial software projects with Mercurial, using Windows, Mac OS X, Linux, Solaris, and other systems; helping you:

  • Learn the basics of working with a repository, changesets, and revisions
  • Merge changes from separate repositories
  • Set up Mercurial to work with files on a daily basis, including which ones to track
  • Get examples and tools for setting up various workflow models with Mercurial
  • Manage a project that's making progress on multiple fronts at once
  • Find and fix mistakes by isolating problem sources
  • Use hooks to perform actions automatically in response to repository events
  • Customize the output of Mercurial.

Author Bryan O'Sullivan said that his desire to write this book came from a lack of published literature about the subject. "A few years ago, when I wanted to explain why I believed that distributed revision control was important, the field was so new that there was almost no published literature to refer people to...Although at that time I was working on the internals of Mercurial itself, I switched to writing this book because that seemed like the most effective way to help the software to reach a wide audience, along with the idea that revision control ought to be distributed in nature."

JavaFX: Developing Rich Internet Applications
By Jim Clarke, Jim Connors, and Eric Bruno
This book shows readers how to quickly and productively create impressive user interfaces. The book begins with the basics of JavaFX, including how to get started, the graphic designer's role, and the basic language. It then moves on to cover more advanced features, including user interface design, special effects, animation, multimedia, and browser display. The last two chapters cover JavaFX code recipes and a complete Sudoku application.

Elements of Programming
By Alexander Stepanov and Paul McJones
This book provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.

This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book’s value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, and doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system’s software components will work together and behave as they must.

The book presents a number of algorithms and requirements for types on which they are defined. The code for these descriptions—also available on the Web—is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup.


Related Reading

More Insights

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.