From C++ Tools to.... ? Trying to be exposed to modern tools
<p>I'm a long-time C++ programmer developing on Windows, and have been using Visual Studio for developing unmanaged C++.</p>

<p>In the past 2-3 months, for the first time, I have been exposed to the world of C# and Java. Man, I'm astounded by the productivity gain! </p>

<p>In particular:</p>

<ol>
<li>C# and Java have so many cool
tools (TestDriven.NET, NetBeans
IDE). Personally, the tools feel much more
modern than the C++ tools that I've
been using. </li>
<li>All the libraries are
there for me to use right away,
without me having to download extras
(Boost, Qt, etc) </li>
<li>Blazingly-fast
compile time. C# compilation is
super fast. Each time I make changes
to Java code on my Netbeans IDE, I
never have to wait for the usual
compile/link. It's just done right
there. No waiting! (People who have used Boost probably agree with me on the slow compile time such as Asio library)</li>
<li>Simple deployment scheme. I really like the fact that I can just write the code once and it can be run on different machines (OS) without me having to recompile it.</li>
</ol>

<p>Having said all that, here's my real question: are C# and Java good technology to learn  the most modern tools and libraries? Are these the two technologies that have the best tools available? I want to be exposed to new tools to broaden my perspective. This way I can learn from it, and try to find equivalent tools in C++.</p>

<p><strong>Disclaimer:</strong> My intention is not to dis C++ as a language at all. After I have used the tools available for Java and C#, I just feel like the tools that I have available for C++ are quite limited (especially refactoring). </p>

<p>I use the following for my C++ dev:</p>

<ul>
<li>VS.NET 08</li>
<li>Visual Assist X</li>
<li>Intel Parallel Studio (profiler)</li>
<li>TeamCity</li>
<li>I plan to use Bullseye and PC-Lint + Visual Lint for code checking</li>
</ul>

<p><strong>Clarification</strong>
When I asked for tools, I meant tools as in IDE, Unit testing tools, refactoring tools, and the likes. TestDriven.NET is probably the most perfect example. I just love the fact I can start coding my unit tests, and right click to run those tests inside my IDE! It's so sad that I cant have the same convenience in unmanaged C++!</p>
