Practical Solutions for Real-Life Programming

Home Arturius Errata Resources Test Programs
Articles Compilers Libraries Site Map Tools
Site Map: /Resources/index.html Visit The Imperfect C++ Website!

Resources

"We've got your sources for the best resources!"

So your hard drive is filled up with all these neat compilers, libraries, and tools - oh my! - but what about the rest? "The rest?" Yes, fellow programmer, the rest!

This section contains links to C++ journals, programming languages, documentation, and books.

Included on the CD!: located locally (on the CD).
Link To Website!: located on the World Wide Web 1.


Journals/Periodicals

Link To Website! BYTE
BYTE has been serving the software development community since 1975, and is still going strong. Now an online-only magazine, it provides informed and stimulating columns by well-established commentators, along with fresh articles on a diverse range of topics.
Link To Website! C/C++ Users Journal
Simply the journal for C and C++ programmers. Columns by all the masters - Alexandrescu, Hyslop, Koenig, Moo, Sutter - and a real crazy kipper, 'nuff said.
Link To Website! CVu & Overload
C and C++ magazines from the Association of C and C++ Users. Both these magazines provide interesting, digestible, articles on a great many C and C++ issues.
Link To Website! Dr. Dobb's Journal
The premier journal for general software development. Dr. Dobb's Journal consistently appeals to a wide cross-section of programmers, from all operating systems, platforms, and languages. Whether you're interested in power programming in Java, C++, C#/.NET, or power scripting in Perl, Python and Ruby, or you want to learn about new languages like D, Dr. Dobb's has important information for you.
Link To Website! The C++ Source
The C++ Source is a new, free, peer-reviewed, online journal for the C++ community. Its advisory board consists of some of the best-known names in the C++ industry, including the language's designer, Bjarne Stroustrup. Become a subscriber, and keep up to date with the latest things in C++, as they happen.
Link To Website! Windows Developer Network
The independent magazine for Windows developers. As of the end of 2003, this became an online-only publication, but it still provides advice from top Windows developers. The fact that I had 25 articles and tips published in WDN in 2003 has nothing to do with this demise. Nothing. I'm telling you !!

Other Programming Languages

As you may guess as you read it, many of the techniques I've devised and described in the book have been inspired by aspects of other languages. These include the popular languages C, Java, C#/.NET, Perl and Python. Currently less popular, but just as interesting, are the following two languages, which I'm giving an extra plug in case you've not heard about them before:
Link To Website! D
D is a general purpose systems and applications programming language. It is a higher level language than C++, but retains the ability to write high performance code and interface directly with the operating system API's and with hardware. D is well suited to writing medium to large scale million line programs with teams of developers. D is easy to learn, provides many capabilities to aid the programmer, and is well suited to aggressive compiler optimization technology.
Link To Website! Ruby
Ruby is an interpreted scripting language for quick and easy object-oriented programming. It has many features to process text files and to do system management tasks (as in Perl). It is simple, straight-forward, extensible, and portable.

I've used Ruby extensively for the research of the book, and preparation of the CD. The recls and Open-RJ libraries both contain Ruby mappings.

Documentation

I don't know about you, but I find it impossible to remember the syntax (and sometimes the semantics!) of the standard library. Thankfully, we don't need to. Just use one or more of the following links, and you won't go far wrong.
Link To Website! C++ Standard Library Reference (RogueWave)
Roguewave's Standard Template Library documentation
Link To Website! C++ Standard Template Library Reference (STLport)
STLport's Standard Template Library documentation
Link To Website! C++ Standard Template Library Reference (SGI)
SGI's Standard Template Library documentation
Link To Website! MSDN
Microsoft's Developer Network (MSDN)

Books

I gave a list of books in the Imperfect C++ bibliography, all of which I'd recommend. However, there are a lot of other good books, so the following is a more comprehensive list of books it'd behove you to have on your shelves (or borrow from your colleagues):
Advanced Programming In The UNIX Environment
Author(s): W. Richard Stevens
Publisher: Addison-Wesley, 1993

Advanced Windows
Author(s): Jeffrey Richter
Publisher: Microsoft Press, 1997

Algorithms in C, Parts 1-4, 3rd Edition
Author(s): Robert Sedgewick
Publisher: Addison-Wesley, 1998

Algorithms in C++, Parts 1-4, 3rd Edition
Author(s): Robert Sedgewick
Publisher: Addison-Wesley, 1998

Algorithms in C++, Part 5, 3rd Edition
Author(s): Robert Sedgewick
Publisher: Addison-Wesley, 2002

Applied Microsoft .NET Framework Programming
Author(s): Jeffrey Richter
Publisher: Microsoft Press, 2002

Art of Computer Programming, The, Volume 1: Fundamental Algorithms
Author(s): Donald E. Knuth
Publisher: Addison-Wesley, 1997

Art of UNIX Programming, The
Author(s): Eric Raymond
Publisher: Addison-Wesley, 2003

This is a great book if you want to learn about the history of UNIX. It inspired the Open-RJ project

ATL Internals
Author(s): Rector and Sells
Publisher: Addison-Wesley, 1999

C Interfaces and Implementations
Author(s): David R. Hanson
Publisher: Addison-Wesley, 1997

C Programming Language, The
Author(s): Kernighan and Ritchie
Publisher: Addison-Wesley, 1998

C++ Gems
Author(s): Stanley Lippman (ed.)
Publisher: Cambridge University Press, 1998

C++ Gotchas
Author(s): Steve Dewhurst
Publisher: Addison-Wesley, 2003

Don't try and adjudicate any obfuscated C++ competitions before you've digested this one.

C++ Programming Language, Special Edition, The
Author(s): Bjarne Stroustrup
Publisher: Addison-Wesley, 1997

As I mention in Chapter 25, this book contains an enormous number of important issues, nonchalantly suffused within the workaday progression through the vast areas of the language. Buy it; keep it in your bathroom; derive regular inspiration for new designs.

C++ Standard Library, The
Author(s): Nicolai Josuttis
Publisher: Addison-Wesley, 1999

C++ Templates; The Comprehensive Guide
Author(s): Vandevoorde and Josuttis
Publisher: Addison-Wesley, 2003

Debugging Applications for .NET and Windows
Author(s): John Robbins
Publisher: Microsoft Press, 2003

Deep C Secrets
Author(s): Peter van der Linden
Publisher: Prentice Hall, 1994

It's exactly what is says on the tin. There's a lot of funny stuff in there as well

Design and Evolution of C++, The
Author(s): Bjarne Stroustrup
Publisher: Addison-Wesley, 1994

Great history lesson from the master.

Design Patterns
Author(s): Gamma, Helm, Johnson, Vlissides
Publisher: Addison-Wesley, 1995

Effective C++, 2nd Edition
Author(s): Scott Meyers
Publisher: Addison-Wesley, 1998

The original "must have" C++ book from Dr Meyers

Effective STL
Author(s): Scott Meyers
Publisher: Addison-Wesley, 2001

"Effective C++" for the Standard Template Library

Efficient C++
Author(s): Bulka and Mayhew
Publisher: Addison-Wesley, 1999

Essential COM
Author(s): Don Box
Publisher: Addison-Wesley, 1998

Exceptional C++
Author(s): Herb Sutter
Publisher: Addison-Wesley, 2000

Best C++ book ever! (Well, second best, maybe ...)

Extreme Programming Explained
Author(s): Kent Beck
Publisher: , 2000

Facts and Fallacies of Software Engineering
Author(s): Robert L. Glass
Publisher: Addison-Wesley, 2003

The other great book to buy your manager.

Generic Programming And The STL
Author(s): Austern
Publisher: Addison-Wesley, 1999

Imperfect C++
Author(s): Matthew Wilson
Publisher: Addison-Wesley, 2004

Well, you've obviously bought this already, since you're reading this CD. But if you really like it, why not buy another? Even if you don't read both, you'll have a handsome door-stop (or two).

Inside Distributed COM
Author(s): Eddon and Eddon
Publisher: Microsoft Press, 1998

Inside The C++ Object Model
Author(s): Stanley Lippman
Publisher: Addison-Wesley, 1996

Read, digest, and then never avoid multiple inheritance like the plague!

Inside OLE, 2nd Edition
Author(s): Kraig Brockschmidt
Publisher: Microsoft Press, 1995

Probably the biggest brain strain I ever had. Only a couple of years into C++ programming, I swallowed this beastie almost whole, and barely recovered. A useful, though incredibly hard to read, book.

Inside Visual C++, Volume 4
Author(s): David J. Kruglinski
Publisher: Microsoft Press, 1995

A bit of a nostalgic one here, but I learned MFC from this book, and I still like it. (The book that is, not MFC!)

Java Native Interface, The
Author(s): Sheng Liang
Publisher: Addison-Wesley, 1999

A great little book, describing the mechanism by which Java connects to C, and thereby to the outside world. It's the only bit of Java I like, although only a mother could love its performance characteristics.

Java 2 Performance and Idiom Guide
Author(s): Larman and Guthrie
Publisher: Prentice-Hall, 2000

Whatever you feel about Java as a language/technology, this is a good book containing a great deal in a small size.

Large Scale C++ Software Design
Author(s): John Lakos
Publisher: Addison-Wesley, 1996

A wealth of relevant information regarding physical coupling and large system design and production.

Linux Device Drivers, 2nd Edition
Author(s): Rubini and Corbet
Publisher: O'Reilly, 2001

Modern C++ Design
Author(s): Andrei Alexandrescu
Publisher: Addison-Wesley, 2001

More Effective C++
Author(s): Scott Meyers
Publisher: Addison-Wesley, 1996

Another "must have" book from Dr Meyers

More Exceptional C++
Author(s): Herb Sutter
Publisher: Addison-Wesley, 2002

Not as good as the first one, but still one of the best C++ books available.

Mythical Man-Month, The
Author(s): Frederick P. Brooks
Publisher: Addison-Wesley, 1995

Great book to buy your manager

Object-Oriented Software Construction
Author(s): Bertrand Meyer
Publisher: Prentice Hall, 1997

Pattern-Oriented Software Architecture, Volume 2
Author(s): Schmidt, Stal, Rohnert and Buschmann
Publisher: Wiley, 2001

Practice Of Programming, The
Author(s): Kernighan and Pike
Publisher: Addison-Wesley, 1999

Clear, simple, effective. That's what we're all after, isn't it?

Pragmatic Programmer, The
Author(s): Hunt and Thomas
Publisher: Addison-Wesley, 2000

An ace book from some fellow Ruby fans. All kinds of great advice. A "must own" book.

Pragmatic Version Control
Author(s): Thomas and Hunt
Publisher: Addison-Wesley, 2003

More pragmatic gems, this time on version control. Another must read in a digestible and enjoyable presentation.

Programming Perl
Author(s): Wall, Christiansen, Schwartz
Publisher: O'Reilly, 1997

Perl; what a riot. Offensive syntax, outlandish semantics, but just so useful. Can't live with it, can't live without it. (Unlike Visual Basic, of course: Can't live with it, can't live with it.)

Programming Python
Author(s): Mark Lutz
Publisher: O'Reilly, 1996

My copy's out of date (1996), but it's still a really useful book.

Programming With POSIX Threads
Author(s): David R. Butenhof
Publisher: Addison-Wesley, 1997

A great source of PTHREADS information, and surprisingly digestible too.

Python Essential Reference, 2nd Edition
Author(s): David M. Beazley
Publisher: New Riders, 2001

A really nice book. This is how to write short expository language books.

Software Optimisation Cookbook, The
Author(s): Richard Gerber
Publisher: Intel Press, 2002

If you ever wondered about the weird and wonderful goings on inside processors, caches, pipelines and the like, this book provides an excellent insight, albeit only from the perspective of the Intel architecture.

STL Tutorial and Reference Guide, 2nd Edition
Author(s): Musser, Derge, Saini
Publisher: Addison-Wesley, 2001

UNIX Network Programming, Volume 1, 2nd Edition
Author(s): W. Richard Stevens
Publisher: Addison-Wesley, 1998

Vi IMproved - Vim
Author(s): Steve Oualline
Publisher: New Riders, 2001

The only book - to my knowledge, anyway - on Vim. And a nice book it is too.


[*]: All trademarked names are property and © their respective owner. Descriptions taken from respective websites.
[1]: Access to resources located on the World Wide Web requires an internet connectivity service.


Valid XHTML 1.0! Imperfect C++ content copyright Addison-Wesley | Additional content copyright Synesis Software Pty Ltd and Greg Peet
Website designed by Greg Peet. Thanks Greg!