Last updated:
9. May 2007
On the Web |
---|
Key Standards |
Windows Development |
Web Development |
General Development |
Miscellaneous |
Books |
This page lists Web sites and books that I consider good and useful.
Some of the books have strongly influenced how I think about software design. One common feature is an all-permeating attitude that you must understand what you’re doing, that it’s important to get the details right, that the whole exercise is worth while. Some of them provide a wealth of technical detail as well, but so does a good reference manual. The underlying philosophy of design and programming makes all the difference.
User Interface Design • Programming and Software Design • Writing
User Interface Design | |
GUI Design for Dummies Despite the dummy title, this is an excellent introduction to usability and the design of graphical user interfaces, full of valuable advice for the practicing designer. Laura is a great teacher, with a rare ability to balance breadth and detail just so. “You can’t make a good user interface just by following a good standard, but you can make a good user interface by following a good design process,” says Laura in an interview with UIDesign.net. | |
About Face: The Essentials of User Interface Design Also check out: This book covers a wide range of user interface topics, ranging from high-level conceptual models down to minute details of mouse interaction. Whether or not you agree with everything Cooper says, you’ll find much of value here. I implemented Cooper’s unified file model in my book Programming Industrial Strength Windows. | |
Tog on Software Design A collection of design essays from one of the pioneers behind the Apple Macintosh and the creator of Sun Microsystems’ Starfire vision. I’m particularly fond of his catalog of surrealistic error messages such as these:
Need I say more? | |
User Interface Design for Programmers This is an introduction to the key principles of user interface design. It is short enough that you can get through it in one evening; it is well enough written that this is a pleasure rather than a chore; it is comprehensive enough to cover the fundamentals. In addition to being useful, user interface design is also fun. Clearly Joel thinks so, and he puts across his enthusiasm wonderfully. His writing style is relaxed, informal, and humorous. User Interface Design for Programmers is in full color, richly illustrated and highly recommended. It is also available online at http://www.joelonsoftware.com/. | |
Programming and Software Design | |
The C++ Programming Language Everything that the creator of C++ has to say about the language. The third edition contains in-depth coverage of the Standard Template Library (STL). Other books by Bjarne Stroustrup include The Design and Evolution of C++ and The Annotated C++ Reference Manual (with Margaret A. Ellis). | |
Design Patterns: Elements of Reusable Object-Oriented Software Also check out Fowler’s Design patterns for software development are codified rules of thumb that solve recurring and often general problems. In the inimitable words of Martin Fowler: “Some idea, found to be useful in a practical context, which will probably be useful in other contexts.” This book catalogues simple and elegant solutions that have developed and evolved over time. Don’t leave home without it. | |
Writing Solid Code This book is devoted to exterminating bugs by eliminating bad habits and encouraging good ones. Maguire’s approach is anecdotal, entertaining and thought-provoking. | |
Code Complete This is the most comprehensive overview of software construction that I know. To quote the author: “The research and programming experience collected in this book will help you create high-quality software and do your work more quickly and with fewer problems.” If you don’t own this book, run out and buy it. | |
Programming Windows I maintain an army of random monkeys that bang away at my keyboard when I’m not using it. One of them came up with this:
Programming Windows is simple I can’t improve on that; I only want to add that my 1996 edition is not the latest Petzold. The latest Petzold is much heavier than mine, and requires an industrial-strength wheelbarrow just to get it home from the bookstore. | |
Advanced Windows Programming True to its title, this book is a deep dive into the Windows API. It does an excellent and comprehensive job of describing kernel objects, processes, threads, fibers, multithreading, synchronization objects, asynchronous I/O, virtual memory and more. Much more. | |
C Traps and Pitfalls Much of this book concerns pitfalls in pre-ANSI C, which does date it a bit. It still contains valuable tips, though, and it is saturated with a pervading sense of the necessity to understand what you’re doing. The following (perfectly portable) expression gives a flavor of the book; it evaluates to the hexadecimal character corresponding to x: "0123456789ABCDEF" [ x & 0xf ] | |
Writing | |
The Elements of Style The classic “little book” on the art of writing—concise, precise and indispensable for anyone who writes:
There are any number of writing books out there, and some of them are very good. This, however, is where it all starts—regardless of which language you happen to be writing in. Read it, apply it, and it will make you a better writer. Here is a small taste: Omit needless words.Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should contain no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his subjects only in outline, but that every word tell. | |
Le Ton Beau de Marot: In Praise of the Music of Language If you understand Norwegian, here’s a wonderful example of poetry translation. Here’s a possibly less wonderful example—my own translation into Norwegian of Ma Mignonne. On the face of it, this book has nothing to do with Windows programming or GUI design. But, using poetry translation as his take-off point, Hofstadter imparts deep insights into the relationship between form and content—insights that translate well to other domains. Other books by Hofstadter include the Pulitzer Prize-winning Gödel, Escher, Bach: An Eternal Golden Braid and The Mind’s I (with Daniel C. Dennet). |
(Start bottom menu)
Top •
Home
• Articles
• Book
• Resources
Windows Developer Magazine
• R&D Books
• CMP Books
Amazon.com
• Amazon.co.uk
• Contact Petter Hesselberg
(End bottom menu)