Download PDF version of this article PDF

The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography

Simon Singh
Delacorte Press, 2000, $15.00, ISBN: 0-385-49532-3

This is a superb text. It is both comprehensive and accessible, which is an unusual combination. It introduces the reader to cryptography and cryptanalysis—subsets of the broader field of cryptology—which might be loosely referred to as the study of codes.

The book defines cryptography as the use of algorithms to convey messages in a manner (purportedly) indiscernible to those not possessing a specific key. It also provides a brief introduction to cryptanalysis, the breaking of such messages without a key; the derivation of keys and algorithms; and how such information can be used to forge messages.

There is also an overview of the impact of cryptology on today’s world, providing examples of critical points in history when codes or ciphers played a decisive role, either through the successful use of cryptography, or more frequently, through its failure in the face of cryptanalysis.

Singh is an accomplished author, having previously written Fermat’s Last Theorem. His capacity for storytelling is evident in this book, which serves as a history of cryptology for the layperson, an introduction to the mathematics behind cryptography and cryptanalysis for the inquisitive, and an enjoyable read for those who may be curious about the art and science of codes. It is highly recommended to all readers.—Lee Imrey

Agile Software Development,Principles, Patterns, and Practices

Robert C. Martin
Prentice Hall, 2002, $55.00, ISBN: 0-135-97444-5

Martin has distilled his knowledge and experience in this excellent book, using the peculiar style that characterizes his craftsman’s columns in Software Development magazine.

This book presents helpful examples, along with plenty of source code. This is one of its strongest points, since programmers can immediately learn how to apply well-known design patterns in programming languages.

It starts with a manifesto of the so-called agile movement. Among its principles, agile development promotes simplicity as “the art of maximizing the amount of work not done” in order to maximize the business value of software development. Once the stage for agile development is set, the book presents the set of extreme programming practices and devotes a few chapters to describing some of them in detail (the planning game, test-first design, and refactoring).

There are two sections devoted to design principles: class design problems and package design. In respect to package design, in my opinion the best section, Martin explains how to avoid undesirable dependencies between packages, why they are not desirable, and how they can be detected using software metrics.

In short, this is an entertaining and instructive “bible of agile practices and design concepts.”—Fernando Berzal

Reprinted from Computing Reviews, © 2003 ACM, http://www.reviews.com

Call for Area Editor

Computing Reviews (http://www.reviews.com) is seeking a volunteer area expert in software (http://www.acm.org/class/1998/D.html, encompassing programming languages and techniques, software engineering, and operating systems) who can serve on its editorial board. The qualified candidate will be prepared to check written reviews for quality and the classification terms from ACM’s Computing Classification System (CCS) for accuracy, as well as use a Web-based editing system to make any suggested changes to the CCS terms or to the review itself. The candidate must be willing to provide feedback to reviewers in order to improve the quality of their contribution, consistent with existing guidelines.

The candidate will also work with staff and reviewers to develop additional features in the publication. This is an opportunity for an enthusiast in the discipline to stay on the cutting edge of the field, while making a significant contribution to the computing community along with 17 other area editors.

If you are interested, please send an e-mail explaining why you would be a good candidate for editor, along with your CV, to [email protected].

acmqueue

Originally published in Queue vol. 1, no. 9
Comment on this article in the ACM Digital Library








© ACM, Inc. All Rights Reserved.