Book Review: Dan Appleman's Visual Basic Programmer's Guide to the Win32 API
Review By Karl Moore
It's a generally accepted fact that different people learn in different ways. Some prefer hands-on activities, whilst others enjoy pondering over theory. Still others simply don't want to learn.
That fact was brought to my attention recently during lunch with a technical colleague of mine. I'd told Jesse I was looking to pick up a decent API book for review one that promised to explain and to educate. Without a flicker of hesitation, he blurted out in that American accent: "Dan Appleman's Visual Basic Programmer's Guide to the Win32 API". Uhuh.
He told me he swore by it it was his friend, his saviour, his live-in lover.
My ears pricked up. Lover? Sounded pretty good to me. So, I decided to check it out...
VB Programmer's Guide to the Win32 API
The Visual Basic Programmer's Guide to the Win32 API has been hanging around for as long as I can remember. The first version was released back in those halcyon days of VB's youth, when DOS was still a buzzword and 4MB of RAM was an acceptable computer specification.
Since then, the book has progressed. The latest version concentrates on the 95/98/NT Win32 API and is suitable for Visual Basic v4, 5 and 6 developers. The author is well-known Dan Appleman, a guest writer for numerous development magazines and founder of the software company Desaware (www.desaware.com).
Now, call me a frugal, penny-pinching old prune, but the first thing that struck me about this publication was its price. It costs a whopping #55. Or, as the back of the book clearly states, $60 American dollars.
Hey, whatever happened to the #2 = $3 conversation rate? Has anyone else noticed this huge anomaly in the British technical book market? Sheesh...
So that's the first bad point: it's a little steep on the ol' wallet. The second is its appearance. It's the only publication I know that could seriously frighten the cast of Freddy Krueger Returns, with its Microsoft-manual-type texture and a thick 1500-page bulkiness akin to the telephone directory.
But the actual content isn't quite as scary. The book starts with a general introduction to the API and soon whizzes you off on your way to becoming a bit of a guru. Dan covers everything from text manipulation to thread management all alongside more sample code than you can wave a very large stick at.
However, this is a straight-down-to-business book and not suited for all. There's no small talk nor chit-chat - though in fairness, Dan does take time to introduce new concepts and help you really get to grips with exactly what you're doing. But if you're on the prowl for a light-hearted read, look elsewhere.
In each section, Dan typically introduces a wad of neat API calls, followed by another wad of examples that utilise those calls. It's solid, honest and understandable, plus hosts an excellent categorised selection of the most useful calls.
But again, if you're a reader that enjoys a little humorous distraction and plenty of screenshots this ain't the book for you.
Still, this leads me back to my original point about learning styles. You see, my good friend Jesse enjoys words. He lives for words. And that's good, 'cause this book has plenty of 'em.
He enjoys the fact that this guide is so straightforward and organised. He hates wasting time and enjoys its no-chit-chat descriptions. He wants a useful, methodical publication that he can read, understand and come back to when required and that's just what this book provides.
But could a beginner use this book to learn about the API? Hmm, yes.
Whilst not quite bedtime material, it does provides all the ammo you need to become an API whizz-kid. Dan leads you through it all from a historical introduction as to why the API is so groovy, right up to interpreting all the C++ API documentation out there.
And if you're one of the 16-bit VB programmers attempting to find their feet in a 32-bit world, the book also hosts a section on porting old code to take full advantage of the newer features. And if you need to write for both platforms, you'll find a section on that too.
But once again, it ain't light stuff. No jokes, no funny business and only half-a-dozen screenshots throughout the entire 1500-page manual.
CD-ROM: The book also ships with a CD-ROM, containing all sample source code, trial Desaware development tools plus a 30-minute video presentation of Dan at VBITS '98.
As Sam Spade once said: "Gimme the facts, Ma'am. Just the facts". And that's one detective that would feel right at home with this book.
Informative, thorough and with a keen focus on understanding, this book is certainly one of the leaders and worth a place on any developer's bookshelf. It lists all the most useful calls, alongside good descriptions and examples.
But I have to be honest this book ain't quite my cup of tea. And if you're just starting out with the API and would prefer a more light-hearted approach, check out something such as the VB6 Win32 API Tutorial from Wrox (www.wrox.com).
A good job, Dan though in my opinion, think of it more as a useful API reference than a step-by-step tutorial.
You can purchase this book directly from Computer Manuals at www.compman.co.uk