Forgot your password?
typodupeerror
Programming

FortKnox's Journal: Coding IDE? 15

Journal by FortKnox
OK, I've used JBuilder for all my Java work, but I'm about to jump into an open source C++ project, and it'll be Linux specific, so I can't use VC++ 6.
Any suggestions on a coding IDE for C++ on Linux that's free? I'd like something that will have color syntaxing, code completion, reads the entire 'project' not just files, works with g++, and, if possible, trees out the classes/fields/methods like VC++. A bonus if it also has a windows port so I can use it on my other machine if necessary.

Any ideas?
This discussion has been archived. No new comments can be posted.

Coding IDE?

Comments Filter:
  • Take a look at kdevelop for starters... Not a bad IDE and the price was right (grin).

  • NetBeans is a very good java based IDE. Primarily oriented towards java development, it also works for C/C++ and is highly configurable. I haven't tried it with C, so I don't know how strong its capabilities are in that area, but it is supported (at least for syntax highliting). Also provides visual development tools for prototyping, html handling, debugger, etc. This is a full development suite, and eats as much memory as it can, but if you have a decent machine that can handle it, it's worth it. Also, there is active development, so you can expect new and improved versions fairly often. Hope that helps.
    --
  • by cscx (541332)
    I've heard good things about CodeWarrior. [metrowerks.com] There is another very good pay-for IDE but I forgot the name.
  • don't (Score:3, Informative)

    by norwoodites (226775) <{pinskia} {at} {gmail.com}> on Monday November 25, 2002 @02:15PM (#4752586) Journal
    you do not need a IDE for UNIX development. all you need is how to use makefiles.
    sample one:

    CC=gcc
    CXX=g++
    CFLAGS=-O3
    LDFLAGS=

    all: abc
    abc: abc.o def.o
    $(CXX) abc.o def.o $(LDFLAGS)
    abc.o: abc.cc abc.h
    $(CXX) -c abc.cc $(CFLAGS)
    def.o: def.cc abc.h
    $(CXX) -c def.cc $(CFLAGS)
    • *shakes head*
      Whaa-wah-WAHHHH???
    • I am VERY familiar with make files, and fully capable at writing them.
      During my schooling, I used Make and emacs.
      In school, color syntaxing was the thing that made life easier for me.
      Now that I've gone through a bagillion IDEs in my professional life, though, I've found out how easily to get things done with them. Its not the compiling that is difficult, but the 'tedious' things that cause headaches. Misspelling variables, etc...
      Things like 'code completion' allows me to do a foo->setB (hit the completion button and see all the foo->setBars with all the variations). Then when I hit the open paren after the command foo->setBar(, I get a nice little box telling me all the variables with all the types. Yeah, its bells and whistles, but really helps keep you in the 'flow' of coding.
      And having a run time maintained tree full of all your classes that you can expand to show you all the public methods and fields is just invaluable to quickly finding what all your options are when you are designing.
      • Things like 'code completion' allows me to do a foo->setB (hit the completion button and see all the foo->setBars with all the variations). Then when I hit the open paren after the command foo->setBar(, I get a nice little box telling me all the variables with all the types. Yeah, its bells and whistles, but really helps keep you in the 'flow' of coding.

        IDE wimp... :o)

        I believe emacs can do that junk (/me shudders)

      • Code completion is a double edged sword.

        I do about half my professional coding for Windows and half for some old mainframe operating system called VOS. The third half of my coding time spent with Java.

        When I first started writing Windows code professionally, I used to use the VC++ IDE a lot because it was there. As I got more into things I discovered that code completion only worked about 90% of the time and often didn't work just when I needed it most (like when my program wouldn't compile). Code completion also didn't work for the files I was editing for VOS since they can't be compiled on Windows any ways.

        Later, I began work on Java, using JBuilder 3 and it's excellent GUI tools and code completion. I began to rely a bit on code completion there because it was 100% available and always correct. However, somewhere along the line, I began editing lots and lots of files for all sorts of things by hand rather than writing programs to do it because it wound up being faster (regular expressions are everyone's friend). It was during this period that I began using gVim on Windows for all of my VOS work and some of my VC++ work.

        When I finally got back to Java development, our team had switched IDE's to NetBeans because the free version of JBuilder we were on didn't support the latest Java VM. Because of headaches in setting up NetBeans for my system I never made the switch to that IDE. I've been coding exclusively in gVim ever since, with only a few minor hops into VC++ to manipulate project files and the like.

        Since then I haven't looked back. I do all my coding with a command line open (yes on windows) for grepping and running whatever other tools I'm hot on for the moment (cygwin is a must on any windows platform). I haven't bothered to set up gVim to do code completion and the like, but I also found I haven't missed it. You see, in hand looking up all the function calls I was making before using tab completion I realized that I had missed the depth of knowledge available in the full source or documentation. In general I found if I didn't fully remember the name and syntax, I didn't fully remember the functionality either.

        So, now I do all my coding with gVim in one panel and the command line in the other. I look up every call I can't recall off the top of my head, and do a whole heck of a lot of copy and paste. In fact my normal mode of operation has 2-3 separate gVim windows open where I read from one or two and type into the other.

        This isn't the only way to get the job done, in fact I have one co-worker in particular who has leveraged VC++ tools into helping him with VOS development rather than the other way around. But it is certainly possible to do development without code-completion and having done it I now consider code-completion a bit of a crutch, at least for me.

        Here's my recommendation, give a "real" editor(vi or emacs) combined with the command line a try and see where it takes you. Both can be configured to do code completion if you take the time to set them up, then again code completion is just the tip of the iceburg.

        Final thought: Syntax highlighting, don't leave home without it! If you're missing that get a better version of whatever you're using.
  • I believe eclipse has a C++ plug-in for project management and syntax highlighting. Requires more than Windows 95 so I really haven't been able to use it much at work. If you're looking for a commercial package, I liked SlickEdit. While it's pitched as an editor, I found it more useful than that. Big thing for me is vi key mapping and SlickEdit is great for that.

  • It's got a strong C++ development effort going on. It's my Java IDE of choice at the moment, and would probably try that for C++ if needed.

    You need to download an extra module for the C++ support beyond syntax highlighting.

    Cheers
  • I think is exactly what you're looking for.
    It is on version 4 and has Linux and Windows ports. The site says the following:

    Dev-C++ is an full-featured Integrated Development Environment (IDE) for Win32.
    It uses GCC, Mingw or Cygwin as compiler
    and libraries set.

    I have only used it for Win32 so far, but as I read your journal it matched every one of the things that you asked for (except for maybe the last thing... was it background research? but my version is 4.0 and not 4.9). I am surprised that it hasn't been mentioned yet. Well, I started using it in 2001 when I knew nothing about free C++ compilers, but there may be other choices. Get it free at:

    http://sourceforge.net/projects/dev-cpp/ [sourceforge.net]

    The linux version seems to be 0.7.0 even when the Windows port is 4.9, but the testing will be up to you I guess. Well, good luck! I almost forgot: It is intended to be a good transition for Borland compiler users, so you'll recognize menus and other stuff.
  • Anjuta [sf.net] just went 1.0 and it's great!

    Dev-C++ [bloodshed.net] is OK for Windows

  • I do all my coding with nEdit and command line tools. Yes it is tedious, but it's funny, after a while of doing this (5 years, since I got into unix development) I can't use a freaking IDE to save my life.

    I've even tried to learn. I mean really tried. I always go back to nedit and a term. I'd probably save a lot of brain power if I used an IDE...

    My recommendation is Anjuta [sourceforge.net] though. I know it the best out of all the IDEs and when I'm showing someone code that's what I use for it.

System checkpoint complete.

Working...