My favorite IDE for C++ lacks few features.
Hmm now three questions need to be answered–
1. Which IDE?
Microsoft Visual Studio. It comes in many editions, Express, Professional, Ultimate. Express being free (wow!), and others being too costly (ahh!). Visual Studio is also categorized into several languages. C++, C#, J#, web etc.
Now of course I am talking about Visual C++ Express edition.
2. Favorite why?
Microsoft does not produces many favorite products. So how come this one. Well it is for many reasons, some of which are
- Intellisense- This awesome tool checks my code, makes recommendations, and points out errors as I type. Totally used to it. Can not imagine coding without it.
- Debugging – Every IDE has Debugging utility, but somehow, i find VC++ debugging window very helpful.
- Design – The looks of Visual Studio are simple and soothing, and elegant. I don’t know if these adjectives fit together, but I can give example of other good IDE’s which lack on this point. Code::Blocks (very good otherwise), Eclipse (not as elegant).
- Third Party Projects – Various Open-Source graphics, audio, networking and other libraries compensate for C++’s missing features :p. For compiling the library, some of them provide Visual Studio Solution Files. This makes VC++ essential for lots of people. Few notable examples are SFML, Irrlicht, wxWidgets etc.
Enough of reasons, now lets answer the final question.
3. What does Express edition lacks?
Every thing comes with a cost. Not true for Open Source and many other stuff, but very true for a Profit driven company. The Express edition is mainly targeted at Hobbyists and Students and comes for no cost. Now compared to Professional or Ultimate edition, its limitations are
- No add-ins – You cannot have add-ins installed in Express edition. So you can’t have tools for Speeding up your work, copying Source as HTML, increasing productivity. Would have loved to have a Source control add in on Express edition.
- No Profiling – With this utility you can check memory usage, find bottlenecks, and ultimately optimize your program. But you don’t have it.
- No 64 Bit Compiler – I am not sure if this is very important. But one of the third party compilation failed due to this.
- No resource editor – While programming Win32 application, I required resource files for icons. But the VS told me I cannot edit that file in VS. Huh, never the less you can manually edit it.
- No MFC, ATL support – While creating a project these options are grayed out. I have not used MFC, but if it were there, I would have definitely given it a try.
Even with these limitations, VC++ is still my favorite. Because there are work around’s for these limitations. You can use Tortoise SVN for Source Control. You can use MFC from other sources. Visual Studio Express edition is complete in itself. You can make awesome projects with it, without any problem.
Happy Intellisense Coding!!