Recommend a Free C++ IDE

As some people on this board know I design videogames for Sony. I’m currently in the middle of a project, but I have some ideas for a future title that I’m kicking around and I’ve reached the point where it would be useful to throw together a little Windows testbed to try a few things out.

Unfortunately since we do console development my studio doesn’t have a Windows development environment on hand for me to install. My sysadmin could buy one just for me but a full commercial IDE seems like a waste of money for the sort of thing I need to do. So I’m looking for recommendations for a good free package that I can download.

A few other bits of information:

  1. I will not be producing a commercial application. I’ll be creating a testbed for personal use only. If my ideas pan out the whole thing will get re-coded by a dev team.

  2. I already have a lot of experience with C++. I was a programmer back before I was a designer and I wrote code commercially using C++. I haven’t coded in almost ten years but I don’t think I’ll have much trouble remembering the language constructs. So I don’t need anything too simple. And for what I want to do I do need a full object-oriented language.

  3. However, I have never coding anything for Windows. I wrote Mac software back in the day, then Unix code. So I don’t know anything about the Windows API.

  4. Most of what I need to do can be accomplished with some basic Windows controls. I need to be able to throw a few buttons up on a window, print some text, do some basic file I/O, that sort of thing. I don’t need to make DirectX calls or anything that complicated. It would be nice if I could read data in from an Excel spreadsheet without having to code a file parser from scratch.

Anybody have any recommendations for a simple, robust C++ dev environment for Windows? Preferably one that comes with a few template applications so I can hack something together quickly?

http://www.bloodshed.net/devcpp.html

I doubt it gets much better than Visual C++ Express Edition 2005 – straight from Microsoft. You can download it for free until November 6, 2006, and as long as you download it before then, you can continue to use it indefinitely. No license restrictions, either.

I came in here to say that. If you happen to have some beef with Microsoft products, though, Sourceforge is always a good source for free software.

I’ve used the Developer Studio from Microsoft for a long, long time and it’s quite complete, but not free. If you want to continue on that line, maybe .NET might help.

On the “free” side, have you tried out the Eclipse development platform? It’s originally a JAVA workspace (it runs on JAVA, of course), but as far as I know, it has some C and probably C++ support.

Eclipse

and, in particular,

C++ development tools
Caveat emptor: I have yet to try the C++ development on the tool. However, I can heartily recommend the JAVA aspect of the thing, though it consumes far too much memory for my gusto.

A note on Eclipse: the C++ is semi-difficult to get working on a windows machine, as it relies on GNU make and gcc, which are primarily *nix programs… you would need to find versions for Windows, unless it changed since i’ve tried it.

If you work for a large company (and you do), there’s also a very good chance your company has a Microsoft Partner arrangement of one sort or another. Some of these offer full copies of Visual Studio for “free” (your company has basically bought a site license) for employees, sometimes even for home use. I’d check your enterprise agreement before looking too far.

If not, I second the recommendation for the VS Express Edition. Unfortunately, nothing else (besides Visual Studio) really comes close on Windows when developing FOR Windows.

Here’s one more vote for Visual C++ Express.

If you’re doing any GUI work like this, you’ll appreciate Windows Forms, which is part of .NET and thus usable from VC++. Just make a new form, drop some buttons on it, and write event handlers that run when you click on them. Only Borland C++Builder can really hold a candle to it. The alternatives aren’t pretty, especially for someone who’s never done Windows development before.

However, you should know that the .NET dialect of C++ (called C++/CLI) isn’t exactly your grandfather’s C++. There are a few new keywords and concepts to learn when you’re interacting with libraries like WinForms, because .NET’s type system has some key differences from the typical C++ type system. If you’ve used Java more recently than C++, you might find it easier to get started with Visual C#.

I tried a free MS IDE once just to find out they had disabled everything but console apps. No idea about the one linked to above.

I have been quite pleased with Dev-C++ (http://www.bloodshed.net/devcpp.html) which has fairly consistently been one of those marvelous little things that just works.

I’ve had good luck with Code::Blocks

Which one was that? The difference between compiled console and graphical apps is basically just a few bits in the EXE header, so that isn’t much of an obstacle - if you can import functions from DLLs, you can write a GUI program.

Visual C++ Express lets you make both console apps and graphical apps, whether you’re compiling to native code or IL. In fact, it has a GUI class library and designer, which seems to be more than either Dev-C++ or Eclipse offers.

Our team used Eclipse to do professional embedded development. It suited us OK and I suspect it will do well enough for you. I am trying desparetly to remember one that was recently recommended on the Borland newsgroups as a possible replacement for Builder C++, but it is not coming to me. If I recall it later, I will pop back in and post.

Dear Mr. Gates,

There are too many keywords in .NET C++. Please eliminate three.

P.S. I am not a crackpot.

— Abe Simpson

I already checked with our sysadmin. Since we’re a Playstation development studio we don’t have any Windows dev tools already licensed. And as I said above, I can’t justify getting a license just for me for minor after-hours noodling.

Thanks everybody for your suggestions. After looking at the various sites I think I’m probably going to go with Visual C++ Express, mostly because of its GUI tools.