It just dawned on me, what are indie programmers that work on various libs e.g. SFML or SDL ect... going to start using now after VC++2012 is out?
At the risk of sounding very annoyingly redundant: QtCreator? I use SFML in my project. I've made a SFML-only project using QtCreator, and AdventureFar (my current project) uses both SFML and Qt with QtCreator.
Despite the 'Qt' part of the QtCreator name, you don't actually have to use Qt... The GUI wizard builds Qt applications, just as other wizards in other IDEs probably build Win32 applications. But just like how in other IDEs, you can ignore the wizard and make what you want, Win32 or not, with QtCreator you can ignore the wizard and use what you want, Qt or not.
And hey, if there is a serious market there, I'd expect some company like Corel* to release a commercial IDE at a cheaper price ($75-90 dollar range). If the need is there, it will be filled - both by lower priced options and by opensource** options. Sure it might not be as perfectly high quality, but it'll be more than sufficient.
*
Corel makes a Cheaper Microsoft Word competitor, WordPerfect, and cheaper Photoshop competitor, PaintShopPro, amongst other things. They aren't the only such company.
**OpenOffice - Free Word, Excel, etc... competitors. Maybe this will spur other opensource groups to release a high quality opensource IDE for Windows.
Other products will become available to fill the gap. Hey, Apple might sense an opportunity, seriously revamp XCode and port it to windows, using Clang by default, to get people to make more software for iOS and Macs. Who knows? People will adapt.
Hopefully this will garner more support for the Windows port of Clang.
Hmm, I suppose there is the issue of the whole qmake stuff, and the risk of writing code which is incompatible with standard C++ (e.g., signals and slots). Is there a way to disable that, to enforce standard C++, anyone know?
I don't think there's much risk of accidentally using signals and slots... But even if so, the code is still standard C++ (afaik, it's not an extension to the C++ language itself, they just have another pre-compile step that converts the signals and slots to valid C++). I think you can even compile code using signals and slots using another IDE (or another compiler), as long as you run it through the QMake build step first, but I'm not certain.
You could probably remove the Meta-Object Compiler (moc) as a build-step, though I can't find any info about that online. You could completely remove QMake and switch to using CMake in QtCreator instead (though that might be throwing the baby out with the bathwater - QMake isn't the problem, MOC is).
If you never use any Qt-specific macro (Q_OBJECT or Q_PROPERTY) you don't have a problem. Hey, if you never inherit from QObject class, you can't use Q_OBJECT or Q_PROPERTY anyway, and without Q_OBJECT you can't use signals and slots. QObject is part of the Qt api library, so if you're not using the Qt api, you don't need to worry about accidentally using signals and slots, and if you are using the Qt api, you can't avoid the signals and slots.
QtCreator uses GCC/MinGW. Whatever their preprocessors output, has to be compilable by GCC. As mentioned earlier, I even swapped out QtCreator's MinGW (which was at 4.5) to get the slightly newer MinGW 4.6 version, which means that QtCreator hasn't altered or modified the compiler itself, because my code still compiles fine with a vanilla version of MinGW downloaded from MinGW's SourceForge page. The Qt 'extension' to the language is three-fold: It requires you inherit from QObject, it requires you to use QMake which will run the Meta-object compiler, and it requires you to use the Q_OBJECT macro. If you don't inherit from QObject, you simply can't use the major 'extensions'.