I come from a .NET background and will be going into the field of rendering / graphics using OpenGL/DirectX. For this purpose C++ will be my language of choice to interact with these rendering frameworks.
As I understand it Visual C++ allows native support for CLI which is an extension to C++ that allows the application to benefit from the managed runtime. Would you recommend spending time getting accustomed with C++/CLI or should I stick to plain C++?
Also, when using the Visual C++ IDE what can I expect from the compiler? Will standard C++ compiled code be standard executables capable of running anywhere that a normal C++ executable would run? I’ve heard that the compiler for VC++ comes with issues of its own.
It really depends on what you’re looking for. C++/CLI has advantages that few of the other .NET languages share (strong support for mixed mode being one of them), but it’s still a .NET paradigm at heart. The only reason you’re going to delve into it is if you want what .NET offers. If your primary need is for full-screen type applications, it’s unlikely that learning the .NET extensions will get you much that learning one of the more capable C++ extension libraries wouldn’t get you, and the C++-only option would retain cross-platform compatibility.
As to the compiler, recent years have seen dramatic improvements in Visual Studio’s C++ compilation. The compiled executables require the correct runtime to be installed on the target system, but that is not a particularly onerous requirement.