Switching from Java to C++: asking advice
<p>I am intermediate to advanced Java developer, working on migrating some Java components to C++.  Working on some simple C++ projects in Eclipse has been a humbling experience!  I am reading my way through <em>Thinking in C++</em>, and have <em>Effective C++</em> next on my list to read. </p>

<p>There are some basic questions which I'd like to hear people's thoughts about:</p>

<ul>
<li><p>IDE: what do people like to use?  I have been using Eclipse for Java for many years, and it has given me tremendous productivity (auto-error correction, refactoring, integrated Junit, etc.)  The C++ interface doesn't seem nearly as strong (I recognize the difficulty of making those features work with C/C++, so I'm not complaining).  Visual Studio is always nice, but it adds a lot of Windows/MS specific stuff, which needs to be stripped out.</p></li>
<li><p>Cross Platform compatibility: how feasible is it to develop with the IDE on Windows machine (which I currently do in Java), and then compile and run on Linux?  Is that just setting myself up for difficulties, and should instead get a Linux machine to use for development?</p></li>
<li><p>Reflection/Dynamic class loading: to provide customization to our core system, we drop extra jar files (or classes) on the server, and then reference the specific class type in the config file, whic causes that class to be loaded instead of parent class. Is there a similar design pattern for doing that in C++, e.g. would you create DLLs for each of your custom behaviors, and load the methods dynamically from DLLs, or is there some other mechanism for dynamic class loading in C++?</p></li>
</ul>

<p>I'm sure many of these questions will be clearer with more reading, and more time, but I can't seem to keep my mind from jumping ahead to these questions.</p>

<p>Thanks to any who want to offer their opinions.</p>
