views:

391

answers:

8

Looking at learning some C since i saw in another SO question that is good to learn for the language and for the historical experience.

Wondering about what IDE's professionals use and what other tools are useful while programming in C?

+1  A: 

If you use Windows I suggest using Visual Studio. There's a free Express Edition here, but there is a downside - Visual C++ has a lot of "added functionality" for Win32 and .Net development.

These added features might be confusing when trying to focus on C.

I learned using Borland's Turbo C. It was a while back, though.

Asaf R
+4  A: 

I have always been fond of Code::Blocks It's a wonderful C/C++ IDE, with several helpful addons. As for a compiler I've always used MingW but I hear DigitalMars C/C++ compiler is good.

Rayne
+1  A: 

I use Cygwin as my development environment and Notepad++ as an editor; I prefer sets of simple applications that each do one thing rather than massive complicated IDEs. Visual Studio is particularly problematic in this sense; not only is it very C++-oriented, but its completely overwhelming to newer programmers due to its sheer mass of features.

MSVC also lacks support for most of the C99 standard, which can be very annoying when programming in C. For example, you have to declare all variables at the top of code blocks.

Dark Shikari
+1  A: 

A favorite of mine is Slickedit. A comprehensive IDE, one of the first apps to have C and C++ function hints (think, intellisense), works with GCC or almost every c/c++ compiler out there, will help you manage a make file or let you do it all yourself, fast, clean, and all in all slick. Integrates with almost any version control server as well. Fully configurable, has C/C++ refactoring, and will read/import almost any/every other project type out there.

Of course, you have to pay for it, but if you want a good experience, you usually do.

Alternatively, there's many many free code development tools out there like Eclipse, Textpad, CodeBlocks, Editpad, all with various levels of project integration. Most of Microsoft's development apps are available with their Visual Studio Express apps, if that's your cup of tea.

Of course, lets not forget the classics: Vi, Emacs. People have developed with these tools for a long, long time.

Robert P
A: 

Netbeans provides a fairly slick C/C++ development environment. Excellent for anyone who is already familiar with NB for Java, Ruby, or PHP development. Provides many of the same features as Visual Studio, Borland, or CodeWarrior (are they still around?) but without being tied to the proprietary libraries. It also provides for a portable development environment so you get a consistent workflow and toolset between platforms.

Of course, a properly configured Vim with the GNU compiler tools can provide a pretty slick experience. You don't get popups and a gui, but it can automate the build process and even jump to errors in your code.

James Schek
+3  A: 

You can play with Eclipse, it is not the best one for C but it works. For a compiler I would use GNU gcc. for tools, look at CScope, gdb (debugger).

If you don't care for extra baggage go with Microsoft Visual C++ Express edition but do keep in mind there is lots of extra stuff in there...

el_eduardo
Thanks for the tools answer also.
Ólafur Waage
+2  A: 

I actually use Vim when editing C code, so I don't really know about C IDEs.

I often use a couple of tools to help though:

  • Ctags : Generate tag files for source code
  • Make : Build automatisation
  • GDB : The GNU debugger
  • GCC : The GNU C Compiler
skinp
+1  A: 
jussij