Main
Resources
|
#Winprog Store
<furan> buy some books, get smart
Help out the #Winprog website! If you decide to buy any of these books (or any others) from amazon, use
the links on this page to visit amazon.com and make your purchase. If you purchase the items right away
after following a link from this page, Winprog.NET will get a small referral to help out with bandwidth
and hosting! :)
Windows Programming
|
by Charlie Calvert
Don't run away! Just because it's a 21 Days book doesn't mean it sucks (ok, that's generally
a good rule to go by, but this is an exception). This book gave quite a few #Winprog regulars
their start in windows programming
and although it's rather dated now, if you can pick up a used copy somewhere for a few dollars
it's a good introduction to windows development for beginners.
Recommended By: redec, theForger
|
|
by Charles Petzold
The Definitive Guide to the Win32 API, 5th Edition
The most widely regarded book on the fundamentals of Win32 API programming.
If you want to write programs using just the API, you want this book. If you want
to write programs using a framework other than the API, you should get this anyway
so that you will have an understanding of how things are working underneath.
Although this is a massive book, it doesn't really go very deep into the API. If
you have read the #winprog tutorial and are comfortable with it's contents and
using MSDN, then you may want to pass on this book as it probably won't present anything
new and exciting.
Recommended By: theForger
|
|
by Jeff Prosise
2nd Edition
Once you have a thorough grasp of the Win32 API, and you've practically memorised
Petzold, and you're now interested in seeing what all the fuss is about with MFC,
you might want to pick up this book. Prosise is to MFC as Petzold is to API.
Recommended By: theForger
|
|
by Jeffrey Richter
4th Edition
This is not a beginners book. Contains detailed in depth coverage of Processes, Threads, and
Multithreading, the Windows Memory Architecture and Virtual Memory, DLLs, Exception Handling as
well as some info on UNICODE and the Message Queue. This book won't help you write
notepad or winamp, but it will provide a lot of info if you want to poke around under the hood
or make the most of the windows threading and memory systems.
Recommended By: theForger
|
|
by Dino Esposito
This book is out of print, but you can probably find a used copy without too much trouble.
Explains such things as hooking into the explorer process, subclassing the start menu, writing
shell and namespace extensions, custom folders, context menu handlers, drag and drop, shortcuts,
shell APIs, etc...
Recommended By: theForger
|
|
by Jones & Ohlund
2nd Edition
The 1st edition of this book (which is now out of print) is what I am basing my recommendation on.
Has good coverage of the various Socket Models (select(), WSAAsyncSelect(), etc...) and Modes.
Also covers the NetBIOS API, Pipes/Mailslots, networking in general and the protocols available,
multicasting, raw sockets and various other helpful networky type things. The 2nd edition appears
to dive right into Winsock from the get-go whereas the original talks more about legacy support
at the beginning. This is probably a wise choice as it seems the authors have reconsidered and
emphasised the information that is most revelant to their readers.
Recommended By: theForger
|
|
by Feng Yuan
Win32 GDI and DirectDraw
This guide for experienced Windows programmers describes what
is going on beneath the API layer. Coverage includes: uncovering the Windows
system architecture and graphics system internal data structure, detecting GDI
resource leaks and other troubleshooting techniques, device context, coordinate
space and transformation, pixels, lines, curves, area fills, bitmaps, image
processing, fonts, text, enhanced metafiles, and printing.
Recommended By: furan
|
COM Programming
|
by Grimes, et al.
Still in print, woohoo!
This book is a good practical introduction to COM and ATL for somebody that is new to
both, just make sure you have a good grasp of C++ before taking on either. Much more
practical and easy to use than more theoretical books such as Essential COM.
Recommended By: Wyatt, theForger
|
|
by Don Box
If you are currently or intend to use COM a great deal, this is a book you should
have on your shelf. It is not an easy read, and it will not help you write any
particular program, however it covers the fundamentals of bare bones COM (without ATL, ActiveX,
MFC etc... layered on top). Admittedly, COM is on it's way out with .NET gaining steam,
but if nothing else, this book will give you an appreciation for what you don't need to think
about any more in .NET :)
Recommended By: theForger, furan
|
.NET Programming
|
by Jeffrey Richter
Great intro to the .NET framework.
Recommended By: stereo
|
|
by Serge Lidin
Excellent IL Assembler Info.
Recommended By: furan
|
|
by Don Box
Vol 1: The Common Language Runtime
Excellent for learning more about how the .NET framework works behind the scenes.
Recommended By: stereo
|
C/C++ Programming & Design
|
by Steve Maguire
This book is out of print too, what's the deal here!
This is a very good, easy to read book about how to write C code that is maintainable, stable,
and easy to debug. Much lighter and more accessable than Code Complete by McConnell.
Recommended By: theForger
|
|
by Gamma, Helm, Johnson, Vlissides
Elements of Resusable Object-Oriented Software
Design Patterns is a modern classic in the literature of object-oriented development, offering timeless and elegant solutions to common problems in software design. It describes patterns for managing object creation, composing objects into larger structures, and coordinating control flow between objects. The book provides numerous examples where using composition rather than inheritance can improve the reusability and flexibility of code. Note, though, that it's not a tutorial but a catalog that you can use to find an object-oriented design pattern that's appropriate for the needs of your particular application--a selection for virtuoso programmers who appreciate (or require) consistent, well-engineered object-oriented designs.
Recommended By: spec
|
|
by Scott Meyers
50 Specific Ways to Improve Your Programs and Design (2nd Edition)
Advice for programmers who already use C++ on such aspects as
memory management, the design and declaration of classes and functions, and
inheritance and object-oriented design. Updated from the 1992 edition to include
new developments in the language and technology.
Recommended By: redec
|
|
by Scott Meyers
35 New Ways to Improve Your Programs and Designs
Coverage includes examinations of the time/space costs of C++ language features;
descriptions of advanced techniques (placement new, virtual constructors, smart
pointers, reference county proxy classes, and double-dispatching); examples of
the impact of exception handling; and treatment of new language features (e.g.
bool, mutable, explicit, namespaces, member templates).
Recommended By: redec
|
|
by Grady Booch
2nd Edition
Grady Booch draws upon the rich and varied results of those projects and offers
improved methods for object development and a new, unified notation. With
numerous examples implemented in C++, Booch illustrates essential concepts,
explains the method, and shows successful applications in a variety of fields.
Recommended By: wawb
|
|
by Andrei Alexandrescu
Generic Programming and Design Patterns Applied
Not for beginners or the faint of heart.
Presents a collection of reusable design artifacts, called
generic components, together with the techniques that make them possible. The
author describes techniques for policy-based design, partial template
specialization, typelists, and local classes, then goes on to implement generic
components for smart pointers, object factories, functor objects, the Visitor
design pattern, and multimethod engines.
Recommended By: spec
|
|
by John Lakos
The topic is of prime importance to software professionals
involved in large development efforts such as databases, operating systems,
compilers, and frameworks. This volume explains the process of decomposing large
systems into physical (not inheritance) hierarchies of small, manageable
components. Concepts and techniques are illustrated with "war stories" from the
development firm, Mentor Graphics, as well as with a large-scale example
comprising some 12,000 lines of code.
Recommended By: GarMan
|
Cryptography
|
by Bruce Schneier
Protocols, Algorithms, and Source Code in C, Second Edition
Not related to Windows at all, but a damn interesting read. Has plenty of easy-to-read
theory as well as real implementations and source code for the algorithms discussed.
Best read while pondering the state of world security outside on your patio... just brings a
geek tear to my eye.
Recommended By: theForger
|
Game/Graphics Development
|
by Rollings, Morris
A New Edition
I have the 1st edition of this book which I got on clearance for about $10, and it is probably
the best book on game programming that I have seen. This book does not teach you how to program
DirectX, OpenGL or fancy algorithms (or much of anything). This book is to help you think about and
design your computer games before you begin to implement them, and the processes you may follow
during development.
Recommended By: theForger
|
|
by Wolfgang F. Engel
Shader Programming Tips & Tricks With Directx 9
Excellent information on using shaders!
Recommended By: furan
|
Low Level
|
by Solomon & Russinovich
David Solomon and Mark Russinovich explain what goes on behind the curtain as
Windows 2000 manages memory, regulates access to input and output devices,
controls persistent storage, communicates with the network, and does the rest of
its duties as a modern operating system.
Recommended By: furan
|
|
by Sven Schreiber
A Programmer's Cookbook
The most valuable thing I got from this book was the code working with symbols, and information on modifying the IDT.
Deeper explanation than Inside Windows 2000, but not as broad.
Recommended By: furan
|
|
by Henry S. Warren Jr.
This book has a lot of awesome tips and tricks for optimization, many programming tricks. Even goes into discussing the uses of the hilbert curve.
Recommended By: furan
|
|