r_harvey

Mascotr_harvey


Bibliography

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--I always end-up looking elsewhere anyway, so why bother with this side-trip? Winn Roach's Hardware Bible offers few benefits for high-level, portable programmers. Some books are so full of inaccuracies that I hate to speak their names (like PC *nt*rn).

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--no, I haven't figured it all out, but I find that printed materials are becoming less useful. Today, the most current information is available on the Internet, and some of the best references are in Adobe Acrobat format. Less paper, less recycling, a lessening of storage requirements, and fewer allergic reactions.

Back to r_harvey home page.

Advanced MS-DOS Programming
Ray Duncan, 1988; Microsoft Press

****

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--DOS, BIOS and hardware--this classic is a good place to start.


ASCIIcat
R. E. Harvey

 

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-- and it'd better stay that way. If one day I won't be able to maintain it, I'll pass it on to somebody who can. ASCIIcat.


Assembly Language Lab Notes
Robert L. Hummel; 1992 Ziff-Davis

*

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
Steve McConnell; 1993 Microsoft Press

****

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--the anti-hacker.

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
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides; 1995 Addison-Wesley.

***

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
Mary Deaton and Cheryl Lockett Zubak; 1996 Que Books

***

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
David Crystal; 1995 Cambridge University Press

****

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
Douglas Adams' five part (or six?) Hitchhiker 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
Microsoft

***

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
Microsoft Press

**

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
Various authors; Microsoft Press.

**

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
I.C.B. Dear; Oxford University Press; 1994.

***

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
Microsoft Press; 1998.

****

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
Ralf Brown and Jim Kyle; Addison Wesley.

**

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
Richard Wilton; 1987, 1994; Microsoft Press.

***

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
Michael Abrash; Scott Foresman Professional Books.

***

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--or display it on your bookshelf. And like many things that are good for you, it's sometimes hard to swallow; a once-over by a ruthless editor could shave a hundred pages and make it easier to follow. Zen is about attitude and optimizing, and it's a bit too long. Don't make this your first Assembly language book--maybe your third.


Zen of Code Optimization
Michael Abrash; Coriolis Group Books.

**

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
Microsoft

**

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
Sam Beckett; 1994

****

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.