r_harvey
This reading list is for mixed-language programmers. Most quality books are written for C fans; if you're not truly multilingual, the dominance of C in examples will be, at the very least, annoying. At the worst, it will be time and money wasted. Even if you never write in C/C++, a general understanding of C syntax will help you get more from these books.
Most introductory books are adequate, though you will probably gain more from the sample code than the text. A dozen or a hundred books won't make the first steps easier. You can't buy understanding, but you can buy information. Beware of books that are mostly a rehash of the instruction set. Books that say "Advanced" or "For Real Programmers Only," rarely are.
The tools here are expensive ($30-$495). Cheaper books, designed for the masses, are not very filling after you've digested a few. Much of the material is reference; you won't find much fun. That is, unless you find learning and growing and improving your skills fun.
This list is biased. I may have missed a favorite, or didn't feel it warranted the shelf space. Others recommend The Programmer's PC Sourcebook, by Thom Hogan. But it's cold numbers with no insight-- If a book has been in print for four years, it's most likely outdated; if it has been in print for more than ten years, it's probably a classic. Current information is not in any book, but it may be in a magazine. Magazines are two or three months outdated, instead of two or three years. The best magazines are often the skinniest, with the dumbest names (like Visual Programmer or Midnight Engineering). If it's skimpy but has a clever, funky, or brightly–colored cover, give it a try. After all these years of computer books and magazines, I find that I'm now buying and reading fewer-- Back to r_harvey home page.
Advanced MS-DOS Programming
Now outdated (and long out of print), but offering the classic introduction to MS-DOS, BIOS and the scheme of things. Available on early versions of the Microsoft Developer Network CD. If you're not sure about how it all fits together--
ASCIIcat
Okay, it's my work, but I'm not trying to sell it. It's tables, lists and cheat-sheets for programmers, writers and illustrators, with an emphasis on things that people like me (meaning: me) need to know, but never remember. ASCIIcat is free--
Assembly Language Lab Notes
Not so much a book as a way to package old PC Magazine source code reprints. Don't expect insight from the text; the source code disk is the only reason to buy the book. At one time PC Magazine printed Assembly language examples; as the world moved to Windows (with a passing glance at OS/2), not to mention C and C++, they followed. Most of their code today is written in Borland Delphi. It's Ziff-Davis' way to say "So Long, and Thanks for All The Fish." The last time I saw this book, it was in the bargain bin.
Code Complete
If I had read Code Complete before writing this book, I probably wouldn't have written it at all. Instead, I'd slip a note in the package telling you to read Code Complete. Many of the ideas we've been talking about, from readability to maintainability to optimization, plus a few hundred we missed, are in this $35 gem. Examples are in Pascal or C, while Assembly language is treated as a foreign language. It's for the programming team-- Even though it's from '93, it's still relevant. You'll probably read it again at least once every year for many years to come. And it's a pleasant change to find a book that doesn't jabber-on about that Internet-thing.
Don't confuse Code Complete with Microsoft's Writing Solid Code, a dogmatic, C-oriented little book about reliability. Microsoft's Debugging The Development Process is, however, a thoughtful, useful exercise. A newer book by McConnell, named Rapid Development, looks like an excellent antidote for deadline-itus; a recommendation will have to wait until I've had more time with it.
Design Patterns: Elements of Reusable Object-Oriented Software
It's the Code Complete for Object Oriented Programming. An authoritative hard cover textbook and a 12-step program about OOP methodology. As soon as I figure out this book, expect reusability, inheritance and such to make their way into my Assembly work. Examples are in C++ and SmallTalk; yeah, that's pretty close to MASM.
Designing Windows 95 Help
No matter what they say, you're still on your own if you're trying to do complex help files. You can use an authoring tool, which will help you keep track of links, but it's still a lot of manual work, and it requires a lot of knowledge that doesn't transfer well into other technologies. This book eases the learning curve, but it'll probably drive many into using a high-ticketed authoring tool for big projects, when Microsoft Word (and, of course, some custom utilities) should be more than enough.
Written by and for professional documentation writers. $50 gets you a well-organized 684 page book and a CD-ROM full of shareware and some sample documents.
The Cambridge Encyclopedia of The English Language
Sumptuous, glorious, exhaustive... Indescribable. I can imagine Shakespeare, Hemmingway and Twain sitting in a pub, arguing about some literary nuance that non-geniuses never even consider, when Chaucer plops his tattered copy of this book on the bar, open to the exact passage that squashes the ruckus.
Hitchhiker's Guide to the Galaxy Trilogy
Has little to do with computers, but you'll miss half the puns and nudges you see in software today if you miss this background material. From Babel Fish to handheld personal information managers, Adams covers it all. The Hitchhiker series is Alice in Wonderland for technoids. (Compare Douglas Adams' and Lewis Carroll's use of the number forty-two.) The trilogy is now complete; Douglas Adams died in 2001 at age 49.
Microsoft MASM Owner's Manual
From truly dreadful a few years ago to indispensable today, Microsoft's Owner's manuals are a terrific overview. Sample code is simple, professional, reusable, and maintainable. The spiral-bound reference (5.00-6.00B, replaced by a cheap, Perfect-bound book in 6.10) is a wonderful source for instruction usage, encoding and timing.
Sadly, MASM is no longer a retail product, so the manual is likely gone forever. Other Microsoft products have lost their owners' manuals, too. Of course, nobody else gives you manuals, either.
Microsoft MS-DOS Programmer's Reference
It officially explains previously undocumented DOS calls and data structures. Don't buy it as your sole DOS function listing, because while functions are described well, you have to dig around to find which DOS version introduced (or dropped) each function. It assumes everybody runs DOS 5+. It's exciting to discover a new feature, but your hopes are dashed when you find that it doesn't work with DOS 3.3. Watch for oversights (int 28h is not obsolete, some structures are incomplete).
The MS-DOS Encyclopedia
Partly lifted from Duncan's Advanced MS-DOS Programming, and at $70, it's no wonder that it's out of print. It offers a historical perspective and information about file formats. Try to find The Encyclopedia remaindered or used. Otherwise, it's just a bit too far back from the leading edge.
Oxford English
Literacy was a fad of the industrial revolution; our post-industrial / post-literacy society reduces grammar to a once-over with a spelling checker. (Everyday means commonplace, not something that occurs every day, so "Everyday low prices" means "Ordinary low prices." The "10 Items or Less Lane" sign should say fewer, since supermarkets don't sell fractional items.) Oxford English isn't the best of this genre, but it is affordable and complete, and we really do need some help.
For quick reference, remember the old-faithful Elements of Style, by Strunk and White. For Macintosh-like attractive treatises, try The Transitive Vampire, by Karen Elizabeth Gordon, or Woe Is I, by Patricia T. O'Conner.
For a free introduction to using English (and a host of lists and data), try ASCIIcat.
The Microsoft Manual of Style for Technical Publications, Second Edition
This is Microsoft's answer to Elements of Style. It will start as many arguments as it settles, but if you want to adopt a clear, consistent, Microsoft-like style (and, who wouldn't?), this book will point you in the correct direction. More useful is the included Windows help file, containing text of the entire book.
The second edition ($30 list, but found in the remainder bin for $15) includes a CD-ROM with version 3 of the book, plus the complete Microsoft Computer Dictionary, third edition (a gem in itself). The printed book is version 2, while the disc includes version 3, with the note "Currently there are no plans to release this version in hard copy."
This book was obviously a labor of love by some folks who truly care. Doesn't anybody care enough to support books like this? Clearly, Microsoft has never sold enough copies to make a go of it, but we should thank them for making the effort. Stop what you're doing now, and run down to your local book store's bargain bin and grab a copy.
PC Interrupts, Second Edition
Dry reading without much of a story line. A wealth of information about which-interrupt-does-what, whether documented or not. It can be frustrating to find out if there is a conflict between your network and somebody else's because information is organized by topic, not interrupt number. Try Ralf Brown's home page at http://www-cgi.cs.cmu.edu/afs/cs.cmu.edu /user/ralf/pub/WWW/ralf-home.html for an up-to-date list of interrupt services.
Programmer's Guide To PC & PS/2 Video Systems
Standard reference for talking to the now-aged VGA and prehistoric EGA, on-down to Paleolithic video cards. Authoritative, dull. The third edition talks about accelerated video cards.
Zen of Assembly Language: Volume 1, Knowledge
Like so many of the best, it's out of print. While the Hitchhiker's Guide trilogy has five parts, the Zen series only has one. At 849 pages and $30, you will feel like it's good for you just to read it--
Zen of Code Optimization
In the first edition of this book I said "Rumors abound that [Zen of Assembly Language will] eventually be updated." Well, he did it. No, this isn't Volume 2: Optimization, but a re-think and re–write, updated for the super-scalar, pipelined '90s. This time around he's pretending that it's a general-purpose, language-independent optimizing book. It's fine for us in the choir, but it may disappoint those who expect it to tell them how to optimize C without converting every loop into Assembly.
This book is absolutely chatty, compared to the author's earlier dry, emphatic approach. Most chapters begin with an unrelated, annoying story, which he tries to tie to the current topic. Your $40 buys 856 pages and a half-full, low-density 3.5-inch disk (no complaint; 2K would be enough, if it's the right 2K).
Developer Network CD-ROM
Complete and up-to-date information about 32-bit Microsoft Windows. Formerly written by programmers, not copywriters, and not proofed for political correctness, let alone spelling, it had charm; it's now sanitized for your protection. The search engine will find any obscure reference from the most remote corner of several hundred thousand pages of the most complete stuff anywhere.
Remaining Windows 3.x and DOS coverage was removed to a one-time-only Archive release in early 1997. New subscribers won't know there ever was 16-bit information, because it won't be back again.
For general reference, it's well worth the $195-495 annual subscription for the professional with a fast computer running Microsoft Windows. Books included on the disk sell for more than $195. Large, multiple-CD, MS software development tools include a single issue. Microsoft has offered a single issue for $99; for many users, one issue is more than too much, so you can try before deciding if you want to spring for the package deal.
When you get the Developer Network CD, set aside a couple of days to spend browsing. It's grown so large that it ships on multiple CDs or DVD.
Update: Formerly a four-star book recommendation, Developer Network CD has slipped. The emphasis has shifted from sharing information, to selling Microsoft technology and books. As they re-shuffle the engine, there may be virtually no significant content additions for two or three releases.
You'd think that after five years and twenty updates (make that nine and at least thirty) they could get the thing to work reliably. Formerly a help file-like structure, now tightly integrated with Internet Explorer (which everything soon will be). You need one copy, but you may not see much new in quarterly updates.
I have personally settled on a copy of MSDN from a few years ago, for the same reason I use libraries and headers a few years old: compatibility. If I want to support Windows 95 as well as later operating systems, I feel that I cannot depend solely on the latest releases.
A big, freebie online version of MSDN is available at http://msdn.microsoft.com. Yes, expect several dozen cookies, junk E-mail, and that they'll keep the friendliest little dossier about you.
Updated update: Subscribing to MSDN now requires you to provide personal information to the "Passport" database/dossier, which is owned and maintained by Microsoft, and used to ensure that you are always recognized by Microsoft's partners wherever you go on the Internet. There is apparently no way to remove your information once you've joined the Passport/Hailstorm/.Net collective. Oh, another update: everything in the world is now integrated with Internet Explorer.
String for Dummies
This well-illustrated, thoroughly-indexed guide walks you through the knottier issues. String covers the long and short of it, with copious reference on wax, fibers, and detangling. Classic essay on the string theory of time, but a little weak on string-ball theory. Extensive, though slightly outdated, list of string-related Internet Web sites. $40.00, with CD-ROM. By the author of Our Friend: The Rubber Band.
This information is borrowed from my Assembly language book. Top | Notice | Home | | © Copyright 2007 R. E. Harvey, All rights reserved.
Ray Duncan, 1988; Microsoft Press
****
R. E. Harvey
Robert L. Hummel; 1992 Ziff-Davis
*
Steve McConnell; 1993 Microsoft Press
****
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; 1995 Addison-Wesley.
***
Mary Deaton and Cheryl Lockett Zubak; 1996 Que Books
***
David Crystal; 1995 Cambridge University Press
****
Douglas Adams' five part (or six?) Hitchhiker trilogy
****
Microsoft
***
Microsoft Press
**
Various authors; Microsoft Press.
**
I.C.B. Dear; Oxford University Press; 1994.
***
Microsoft Press; 1998.
****
Ralf Brown and Jim Kyle; Addison Wesley.
**
Richard Wilton; 1987, 1994; Microsoft Press.
***
Michael Abrash; Scott Foresman Professional Books.
***
Michael Abrash; Coriolis Group Books.
**
Microsoft
**
Sam Beckett; 1994
****