Online Multimedia Presentations: C++0x Progress and More
Lawrence Crowl: New Features in the Next C++ Standard
Doug Gregor: Concepts Extending C++ Templates For Generic Programming
Bjarne Stroustrup: C++0x Initialization Lists
Lawrence Crowl: C++ Threads
Scott Meyers @ NWCPP: Red Code/Green Code - Generalizing Const
Herb Sutter @ NWCPP: Machine Architecture: Things Your Programming Language Never Taught You
Design and Evolution of C++: Bjarne Stroustrup and Herb Sutter (short interview)
Bjarne Stroustrup: High Performance Applications with C++ (short interview)
Individual C++ sites of note:
Herb Sutter's Blog: Essential reading if you want to keep up with what's going on in C++ language and library evolution. Herb's the chair of the ISO C++ Standards Committee, and he dutifully reports on what the commitee's voted into the standard after each meeting. Herb's also established himself as the concurrency guru with a current series of articles in DDJ on the topic (links for all the articles show up in the blog with the release of each new one.)
Twilight Dragon Media gcc 4.2.x Windows-resident C++ environment: After several days of Googling in search of a gcc 4.2 port (including support for the -D_CLIBGXX_DEBUG debugging STL mode) that runs under XP, I finally came across this native Windows command-line gcc 4.2 C++ platform that works. You do have to "gunzip" then "tar xf" a bunch of the files and "7z x" a few others (well, unless you have the graphical tool that just does all the rights things, which you may, but I hate IDE-based unzippers, lol). After they all land in the file structure however, everything just works "right out of the box"...no header file issues whatsoever. I don't even know who these people (Twilight Dragon Media) are, but THANK YOU!
Scott Meyers' TR1 Information page. Includes articles on TR1 in general, links to all the proposal documents describing the rationale and interface of the various TR1 components, and some ways to get TR1 functionality right now rather than having to wait for your platform's vendor to supply it.
Boost: The
future of the C++ Standard Library, more or less. Boost is a repository
of community-developed C++ libraries. Several of the founders/activists
are on the Standard Committee's Library Working Group. Do the
math...
The
C++ Source: "The Premier Online Journal for the C++ Community".
The 'zine is edited
by Chuck Allison, former editor of the C/C++ Users Journal. Associated with the 'zine
is the C++
Community News site.
Generic Programming: Ground zero for the upcoming "Concepts" feature of C++0x (which will allow the compiler to diagnose type mismatches during template specialization with messages that are comprehensible, unlike the current pre-Concepts scenario. See STLFilt). A Concepts-enabled version of the gcc C++ compiler and Standard Library is available for experimantation here.
Microsoft
Visual Studio Express Editions: Download Microsoft's latest C++ compiler, including IDE,
for free!
Thinking
in C++, 2nd Edition: Bruce Eckel makes this excellent two
volume set (including the awesome Volume II, co-authored with Chuck
Allison) available as a free download.
Bruce's entire site
is worth visiting; all of his books (including ones on Java, patterns
and Python) are similarly available for free. In this particular
case, you get a whole lot more than what you pay for...
The
C++ Annotations: A wonderfully comprehensive, mature and very
readable HTML-based C++ learning resource by Dr. Frank B Brokken
of the University of Groningen, The Netherlands. It does assume
the reader already has a strong C background.
Comeau
Computing: For $50, you can get yourself an honest-to-goodness
Standard C++ compiler...along with built-in hooks for STL Error
Decryption [my favorite feature ;-) ] and exceptional support
from Comeau. A cool feature of the Comeau Computing web site is
their Online
Compiler, where you can paste in C++ code and compile it on
the spot to test for Standard conformance.
Borland/CodeGear
C++Builder: Free download for personal use (just choose the
"Personal" edition).
Visual
C++ Tips and Tricks: Tips on making the use of MSVC a bit
more pleasant.
Guru of the Week:
Herb Sutter's site. He da man. Chair of the ISO C++ Standards Committee, Software architect at Microsoft, author of the Exceptional
C++ book series and zillions of articles, he may hold the
world's record for brain CPU speed. Especially noteworthy is Herb's blog (see above), where the latest news from ISO Standards meetings is posted, along with links to many excellent C++-related webcasts and other educational material.
Scott Meyers'
Site: He da man too (just not on the Standards Committee).
Author of the seminal Effective C++ book series and my favorite speaker on C++.
Dan Saks' Site:
Not only is Dan Saks an expert on all things C/C++, a former secretary
of the ISO C++ Standards Committee and the leading educator on
the use of C and C++ in the context of embedded systems....he's
also a really, really nice guy. Most of my understanding of the
motivation behind the design of C++ comes from Dan.
Steve Dewhurst's
Site: Steve's the author of the excellent recent books C++ Gotchas and C++ Common Knowledge (as well as of the Advanced C++ course I offer.)
MinGW:
Minimalist GNU for Windows: "A collection of freely available
and freely distributable Windows specific header files and import
libraries combined with GNU toolsets that allow one to produce
native Windows programs that do not rely on any 3rd-party DLLs."
And, finally, it comes with an honest-to-goodness self-contained
self-installer: Go to the SourceForge download page, then locate "Automated MinGW Installer".
Dev-C++:
A free IDE for C/C++ development. Very full-featured and elegant.
The distribution comes with gcc 3.2 built in, so you can install
Dev-C++ and use the IDE or just use gcc from the command line
afterwards.
Digital
Mars C++ Compiler: The latest incarnation of Walter Bright's
C++ compiler (the first commercial native-code C++ compiler that
ran on PCs, earlier known as Zortech C++), now available as a
free download.
wxWidgets:
(formerly wxWindows): A free C++ framework for cross-platform
GUI development. I used it to create the STLTask utility that
is part of my STL Error Decryptor package (see below). While that
particular app only has to run under Windows, it was still more
intuitive to develop than an MFC app...and wxWidgets lets you
write a GUI app once so that it runs under Windows, Unix, whatever.
Now that's cool.
C++
Resources at thefreecountry.com: Links to all the free C/C++
compilers available on the web, collected in one place. Did you
know Microsoft is giving their Visual C++ command-line compiler
away for free??
Free
Compilers and Interpreters from Freeware-Guide.com. Many free
compilers, some open-source, for several different languages.
(Both this and the previous site even list BDS
C!)
Intel
C++ Compilers: In addition to their standard commercial compilers,
Intel makes the Linux
version of their C++ 7.1 compiler available free for noncommercial
use. That makes this the most cost-effective way I know of to
get a legal EDG-front-end-based C++ compiler.
Must-Have Books:
The C++ Standard Library: A Tutorial and Reference, Nicolai Josuttis, Addison-Wesley, 1999, ISBN 0-201-37926-0.
Effective C++, Third Edition: 55 Specific Ways to Improve Your Programs and Designs, Scott Meyers, Addison-Wesley, 2005, ISBN 0-321-33487-6.
More Effective C++: 35 New Ways to Improve Your Programs and Designs, Scott Meyers, Addison-Wesley, 1996, ISBN 0-201-63371-X.
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library, Scott Meyers, Addison-Wesley, 2001, ISBN 0-201- 74962-9.
Exceptional C++, Herb Sutter, Addison-Wesley, 2000, ISBN 0-201- 61562-2.
More Exceptional C++, Herb Sutter, Addison-Wesley, 2002, ISBN 0- 201-70434-X.
Exceptional C++ Style, Herb Sutter, Addison-Wesley, 2005, ISBN 0- 201-76042-8.
C++ Coding Standards, Herb Sutter and Andrei Alexandrescu, Addison-Wesley, 2005, ISBN 0-321-11358-6.
C++ Gotchas: Avoiding Common Problems in Coding and Design, Steven Dewhurst, Addison-Wesley, 2003, ISBN 0-321-12518-5.
C++ Common Knowledge: Essential Intermediate Programming, Steven Dewhurst, Addison-Wesley, 2005, ISBN 0-321-32192-8.
Modern C++ Design: Generic Programming and Design Patterns Applied, Andrei Alexandrescu, Addison-Wesley, 2001, ISBN 0-201-70431-5.
Other Very Useful Books:
C++ Templates: The Complete Guide, David Vandevoorde and Nicolai Josuttis, Addison-Wesley, 2003, ISBN 0-201-73484-2.
Beyond the C++ Standard Library: An Introduction to Boost, Björn Karlsson, Addison-Wesley, 2006, ISBN 0-321-13354-4.
C++ Template Metaprogramming, David Abrahams and Aleksey Gurtovoy, Addison-Wesley, 2005, 0-321-22725-5.
The C++ Standard Library Extensions, Pete Becker, Addison-Wesley, 2007, ISBN 0-321-41299-0.
Standards and Standardization-Related:
C++
Standard: The official distribution site for the 1998 final
C++ Standard document. Accept no substitutes.
C++
Standardization Status: Nice overview (this was some kind
of slide presentation) of Standardese terms, pending activity,
feature summaries, etc. (see also Herb Sutter's blog, described above, for late-breaking standarization news.)
Reference and FAQ Sites:
Incompatibilities
between ISO C and ISO C++: Nice resource, maintained by David
R. Tribble.
Predefined
C/C++ Compiler Macros: I wish I'd known about this site before
attempting some recent work on my InitUtil
library, because it would have saved me an awful lot of time and
trouble.
C/C++ Reference:
Sweet, simple, well-organized site for C and C++ language and
library reference information. They provide a packaged, downloadable
version as well. As they say themselves on the last line of the
FAQ: "Think of it as a community service, for geeks."
Still waiting for an "Algorithms" section, though...
C++
FAQ Lite - The official comp.lang.c++ FAQ. Great info about
everything C++: language, online community netiquette, technical
/ environmental issues, etc. etc.
alt.lang.learn.c-c++
FAQ: The FAQ for my favorite Usenet news group (although I
participate in several other groups as well: comp.lang.c and comp.lang.c++)
Tech
Talk about C++ and C: Nice FAQ from Comeau Computing.
Bjarne
Stroustrup's C++ Style and Technique FAQ: The name says it
all
Dinkum
C++ Library: On-line C++ Library reference from Dinkumware,
Ltd.
Standard Template Library:
SGI STL Programmer's
Guide
The C/C++ Reference site listed
in the previous section has nice STL information.
STLFilt: An STL
Error Message Decryptor for C++: Tooting my own horn (just
in case you didn't know about it already): STLFilt is a collection
of tools that work in conjunction with Comeau C++, gcc (including
within the Dev-C++ IDE), Metrowerks CodeWarrior, Microsoft Visual
C++, Intel C++ and Borland C++ to post-process STL-related error
and warning messages, rendering them comprehensible to non-C++-gurus
via the removal of extraneous fluff. And even some gurus
prefer the messages decrypted...
InitUtil:
Another one of my little projects, an STL Container Initialization
Library for quick-and-dirty stocking of containers with constant
values (typically for testing purposes).
C-Specific:
Programming
in C: Excellent site for ISO C news, documentation/commentary
and links.
The
Ten Commandments for C Programmers
C
Programming Notes (to Accompany K&R): When I attended
Hebrew school as a kid, we studied the Old Testament, and specifically
the "Rashi", or commentary by some learned old Torah
scholar that appeared side-by-side to the "official"
text. This document, by Steve Summit, is like "Rashi for
K&R", providing insightful commentary to the C Bible
and pointing out the "deep sentence" gems scattered
throughout that venerable tome.
comp.lang.c
FAQ: The Frequently Asked Questions repository for the Usenet
newsgroup.
K&R
Answers to Exercises: A free repository of solutions to most
of the coding exercises in The C Programming Language, 2nd
Edition by Kernighan and Ritchie. Site maintained by Richard
Heathfield.
And an antique: BDS
C was first released in 1979 for CP/M-80 (Intel 8080 CPU,
running at 2MHz with 64K max system RAM - but BDS C could be run
on as little as a 40K system). Try it under the SIMH
Altair simulator.
The D Programming Language:
The
D Programming Language: The brainchild of compiler guru Walter
Bright, D aspires to be successor to both C and C++...and the
strangest thing is, it may actually succeed. I'd describe
D as "The greatest hits of C, C++ and Java, with some additional
original arrangements by Walter Bright". And I think he knows
the score ;-)
There would be no point reproducing an exhaustive list of
C++ - related sites; you will undoubtedly find anything you're
looking for at one of the following general links sites:
A
Cornucopia of C++ Resources: Excellent descriptions of each
link to good books and documentation.
Sites of interest
to C++ users: Another excellent list of links.
Technomagi
C++ Links: Good selection of STL-related and general C++ /
OOP sites
Not specifically software development-related, but these Windows
tools have served me awfully well--most for many years--and their
authors have provided me with exemplary tech support whenever
I've needed it:
RAMDisk:
It took me a long time, but I finally found a RAM Disk utility
for Windows XP that runs reliably, allows a large (~256M or more)
device size, and can be re-sized on the fly (through a Device
Manager-based control panel). I dabble a bit in astrophotography,
and a RAM disk can speed up Registax
processing by around 30%. The version downloadable on this page
is limited to 64M, but you can email the author and request the
version that allows larger sizes. There is a suggested donation
of $10 or so, but the software is fully functional whether or
not you pay it (he says there's a nag screen, but I've never seen
it.)
WordWeb:
A free taskbar-resident dictionary/thesaurus utility. Select any
word in any application, click on the "W" icon, and
get instant pop-up definitions and synonyms! Perfect for school-age
kids' systems.
Startup
Control Panel: Have you been frustrated trying to figure out
where RealOne has stealthily installed itself so it obnoxiously
starts up every time with Windows, and with seemingly no way to
disable that feature from its control panel? Get this tool, and
end of problem. Freeware written by Mike Lin, a 19-year-old MIT
student. I was one of those once...no, sorry, I had actually already
withdrawn by the time I turned 19... Anyway, make a contribution
to his cookie jar and help with tuition ;-)
Epsilon Text
Editor: This is a commercial package, but IMHO the best implementation
of EMACS in existence. Now, how often do you run into a commercial
package where the author personally answers every technical question
you email to tech support, and answers his own phone? I did it
back in 1980 while supporting BDS C, but today it is truly a rare
thing to find in as high-quality a commercial product as this.
ExamDiff
Pro: Excellent file comparator utility. The first graphical
app I've found good enough to wean me off the DOS-based character
mode tool I'd been using for years.
JP Software:
Home of 4DOS and 4NT, powerful replacement command processors
for Windows for those of us who can't quite get used to doing
certain administrative and development tasks using a WIMP interface
(Windows, Icons, Menus and Pointers)...and also can't stand the
limitations of standard DOS/Windows batch scripting support. Crafting
complex regression testing scripts for my STL Error Decryptor
was a pleasure under 4NT...and would've been impossible using
the native Windows command processors.
TaskInfo:
Incredibly comprehensive Windows task monitoring utility. Want
to know what files are being held open by what process? Want to
terminate a process in less time than it sometimes takes Task
Manager to just wake up? Try this.
Teleport
Pro: Copies an entire web site onto your own machine, and
updates it later on very conveniently. I use this to snag the
CUJ
Experts Forum articles onto my machine for later perusal.
SnagIt!:
Screen-cap utility that just about does it all.
HP-16c emulator: WRPN, written
by Emmet P. Gray, is a public domain calculator for Microsoft
Windows that is modeled after the Hewlett-Packard HP-16c. I use
a real HP-16c for everything (the first set of batteries
lasted about 15 years). I was overjoyed to discover this emulator,
so my beloved calculator could be with me, virtually, anywhere,
while at the same time remaining safe and sound on my office desk!
(Note: the emulator doesn't support the calculator's programming
features, but then, I've never learned to use them on my own real
16c anyway...)
Fix
Sort Order: A registry mod to restore sane sort ordering to
Windows XP File Open/Save Dialogs. I don't know what messes the
order up in the first place, but I searched high and low for a
solution until I found this little utility. Part of a great Windows
tip site, Doug's
Windows Tweaks and Tips.
Speedswitch
for Windows XP: Awesome utility that let's you take full control
over CPU speed for portable computers, since the stock power management
facilities are usually sorely lacking.
Windows XP
Update: Full of great XP support information. When "Windows
Update" kept bombing on my XP Home system, this
is where I found the solution (Step 6, making sure the IE language
setting wasn't blank, did it for me!)
Microsoft
Windows Defender : Microsoft's new utility (fomerly known as "Microsoft anti-spyware") works great, and it's free. The popular thinking
says it will remain free, since it represents an incentive to
be running a legitimate copy of Windows (via its registration
process). Once installed, this automatically detects any adware/spyware
intrusions and interactively allows you to deal with them.
I consider this a must-have full-time active anti-spyware
utility, relegating Ad-Aware and Spybot S&D to occasional
supplementary runs. Ad-Aware (see below) is nice, but the free
version must be run manually, while the free Microsoft tool is
easily configured for automatic scanning. Also, the "real-time"
spyware detection is only available on the pay version of Ad-Aware,
while it is fully functional in the MS tool. This thing is highly
recommended, even while still in Beta.
AVG Anti-Virus:
Totally free anti-virus software. I like this a lot better than all the commercial ones (see comments after the Spybot S&D section below). I've upgraded to the "SoHo" version (not sure they still call it that...) too.
Ad-Aware
SE Personal: Totally free version of an excellent anti-spyware/adware
tool. Scanning your system regularly with this is highly
recommended. The free version gives on-demand scanning; if you pay money, you can get full-time protection...but with Windows Defender running, I'm not sure that's really needed.
Spybot Search
& Destroy: Another totally free, solid Spyware/Adware
eradicator. Includes an "Inoculation" feature for active
monitoring against web-borne parasites, hijacking of your browser,
etc. (features you have to pay to get with Ad-Aware above).
As far as I'm concerned, all four of the tools above are "must
haves", and they work as well or better than the commercial
tools out there. I've had particularly bad experiences with Norton
A/V (refused to let Eudora email work), McAfee A/V (online licensing
and activation were horrific), and PC-Cillin (basically brought
a system to its knees when active).
SpamArrest:
I gave up on SpamCop and switched to SpamArrest, a "challenge/response" system for reducing Spam, a year ago and never looked back. The only downside is having to browse through the held junk mail once in a while to make sure some stuff you really want isn't being held up, but overall this is much better than any other anti-spam solution I've tried yet.
CYBERsitter:
Nice web content filtering software to make systems "kid-safe".
You pay just once, rather than again every year, and a 5-system
license is just $100. Good support, too (easy to get someone knowledgeable
on the phone).
CERT Home
Computer Security Page: Great resource, from the ground up.
Hosted at the Carnegie Mellon University's Software Engineering
Institute.
National
Do Not Call Registry: Now up and running. Register as many
phone numbers as you like. (Unfortunately, such a registry isn't
likely to work for email spam. Instead, use SpamCop.)
All text and images on this website are Copyright © 2001-2003 BD Software.
All rights reserved.