I have been using the Dev-C++ IDE ever since I started programming over two years ago. While, by and large, it's been very useful and helpful, I've run into some curious, compiler-related roadblocks sometimes. By "compiler-related," I meant my code could be syntactically, semantically, and logically correct, but, for some reason, it might not compile!! I am trying to make a switch to, hopefully, a better free programming tool. This C++ site offers two other free IDEs: Code::Blocks and Visual Studio Express.
I would like to know which of these two IDEs is better and SAFE to use. I was trying to download Code::Blocks moments ago, but my Antivirus software (ESET NOD32) warned me of a potential threat to my system!
Download C::B from http://www.codeblocks.org/ or MSVS from http://microsoft.com
That way you will be sure that you are downloading safe version. AV software can give fals positives on developing tools, mainly debuggers: they are designed to hook into other programs, the behavior AV software does not like.
I prefer C::B because of it good native integration with GCC, which is the compiler I prefer (crossplatform, open source).
MSVS is trying to force user to change some functions (mainly c-string manipulation) to non-portable microsoft only ones by giving a ton of warnings which have a not obvious way to turn off.
Now newest versions of MinGW GCC and MSVS are almost fully support C++11 (unlike previous versions of MSVS) so you will be fine with either.
As for the antivirus, that is slightly weird. I'll assume you are getting it from the Code::Blocks website, and you checked the md5 before running it. I, personally, have never had any security related problems with it, and I don't know of anyone that has, so unless a third party has injected a malicious executable into the file it should be fine.
Adding to what @MiiNiPaa said, I also prefer Code::Blocks because of the range of compilers it can integrate with. If you want, you can set it up to compile with clang instead, or even the MSVC compiler. The only thing I don't really like about Code::Blocks is the debugger: though it is still good (and perfectly adequate), it can't beat the Microsoft one. However, overall, I prefer Code::Blocks.
As for the compiler related problems with Dev-C++, you can normally fix these by simply updating the compiler. The most recent version of Bloodshed Dev-C++ (4.9.9.2 beta) came with a fairly old version of TDM MinGW from memory, so you can probably get a newer version that should fully support C++11. Then again, Dev-C++ isn't exactly a great compiler anyway, so you should probably still change.
> Code::Blocks and Visual Studio Express.
> I would like to know which of these two IDEs is better
Among people who have used both IDEs, there is near universal agreement that the Visual Studio IDE is clearly better than Code::Blocks.
What firmly tilts the balance in favour of the Microsoft suite is the C++ standard library; has been, and continues to be way better than what GNU has been able to cobble together till now.
I would suggest that you get both GCC and MSVC, and compile your code with both.
Most large companies that develop software use VC++. I personally prefer it due to its superiority over other IDEs. It feels much more natural than other IDEs. (The others just are simply bad IMO).
Also many large companies developing server applications often uses Intel compiler (If they have Intel based servers). It produces faster code than either GCC or Microsoft one (most noticeable on Intel CPU obviosly), but it is cost quite large sum of money.