So I asked Andrei Alexandrescu what the tools were that he uses.
The more, the merrier :o). I mostly use gcc, but that’s not my decision. I also use eclipse with CDT as my environment.
If you don’t know who Mr. Alexandrescu is, I’ll give you the 5 second low down. He is the author of a book called Modern C++ Design. I don’t have it (yet), but I’ve read about his articles on policy based design over the years. I think he is on the right track with his ideas and I wish the C++ standards committee would adopt them. This is the niche that C++ needs to be in…. very high performance engines or kernels (3d, signal processing, etc.)
Anyways, the reason I posed the question to him as because of the heavy use of templates that his design uses. Most of the C++ compilers that were out 2 years ago (and the one I use daily) cannot cope 100% with his code. So, knowing what tools he uses may help me and others understand what the best environment is, since it is the same one that he is using.
Why? Like a lot of good ideas on the Internets, you want to use them. Like a lot of good ideas, what is good in words, turns out to be impractical for the real world. You may spend a week trying to figure out that his SmartPtr class doesn’t do the right thing because the compiler you are using is doing the wrong thing. That is the case here. His ideas are good, but you must be prepared to bring up and test the toolchain to use his stuff (ie. have a few days to burn)
Finally, thanks to Andrei for even answering the question. As a popular C++ author, I’m sure he gets lots of email. (Most of that email is probably “how come xyz doesn’t work?”) It was very nice that he replied to mine so quickly.