Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

What Free IDE Do You Use? 1055

postermmxvicom writes "I program only occasionally and mostly for personal interest. I went to update my favorite free IDE, Dev C++, yesterday and noticed that it had not been updated since 2005! I went looking for other free IDEs and came across Code::Blocks and Visual Studio Express. I work from a Windows machine, use C++, and make mostly console apps; but have written a few Windows apps and D3D or OpenGL apps. I wanted to know what free IDEs you use and recommend. What do you like about them? What features do they lack? What about them irritate you (and what do you do to work around these annoyances)? For instance, when I used Visual C++ 6.0 in college, there was an error in getline that had to be fixed, and the code indenting in DevC++ needed to be tweaked to suit my liking."
This discussion has been archived. No new comments can be posted.

What Free IDE Do You Use?

Comments Filter:
  • Eclipse and Netbeans (Score:5, Informative)

    by Ethanol-fueled ( 1125189 ) * on Wednesday May 27, 2009 @02:44AM (#28105761) Homepage Journal
    I don't mess with C++ often but I still use Dev C++. Code::blocks wouldn't even install on my machine(or maybe it did, but never started up without a fatal error, can't remember which) and Visual Studio Express is a monstrosity which will take 45 minutes to install tons of weird crap while making your monitor flicker. Visual Studio express also allows only one programming language.

    Contrast those with Netbeans and Eclipse which are known as Java IDEs but can be configured with plugins and add-ons to do all kinds of stuff, including C/C++ development. I haven't tried either of the two for C/C++ but I believe that Eclipse would be a the good middle ground between Dev C++ and the bloated NetBeans.

    Here's [google.com][PDF warning] a good place to start. Good luck.
  • Eclipse (Score:5, Informative)

    by cblack ( 4342 ) on Wednesday May 27, 2009 @02:47AM (#28105779) Homepage

    I like Eclipse as an IDE because it supports many languages/modes and is very customizable. I mostly use it for Java, Perl and HTML/XML/CSS right now. There are MANY plugins and the context-aware help/auto-complete is very well done.

  • by jfern ( 115937 ) on Wednesday May 27, 2009 @02:50AM (#28105793)

    version 7.0 RC5 came out 2 months ago.
    Wiki page with link [wikipedia.org]

  • by Anonymous Coward on Wednesday May 27, 2009 @03:00AM (#28105859)

    Visual Studio Express only allows one language because you download the environment for the language that you want. For example, Visual C++ Express is just for C++.

    With that said, Visual Studio Express has never taken me 45 minutes to install and it (and the other express editions) install quite quickly. Check your computer for viruses... The full install of Visual Studio (not free, hence not the Express edition) is a quite different story though, and you had better have some spare time while installing it.

  • Turbodelphi (Score:3, Informative)

    by andersa ( 687550 ) on Wednesday May 27, 2009 @03:01AM (#28105869)
    Free edition of Delphi [turboexplorer.com].
  • by EsbenMoseHansen ( 731150 ) on Wednesday May 27, 2009 @03:02AM (#28105877) Homepage

    Two options that have not come up yet. KDevelop 4 is shaping up really good, but I do not think it is actually working on win32/64 yet. The other is Qt Software's offer Qt creator [qtsoftware.com] which is also getting a good deal of praise. The latter is probably extra good if you use Qt... and if you don't, I would recommend at least looking at it, since it is a very nice LGPL library.

  • by daVinci1980 ( 73174 ) on Wednesday May 27, 2009 @03:03AM (#28105879) Homepage

    You hit it in the summary. I program professionally. At work, I use gcc, xcode or msvs (depending naturally on the platform).

    At home, for personal development on Windows in C++, nothing beats Visual Studio Express. It's lightweight, meaning they've trimmed out most of the stuff that you don't care about anyways for personal projects.

    As much as it might pain the free software crowd, Microsoft has done a good job with Visual Studio Express.

  • eclipse (Score:5, Informative)

    by tero ( 39203 ) on Wednesday May 27, 2009 @03:03AM (#28105881)

    I swear by Eclipse - I mostly do Java these days though, but I do have it setup for C++, Perl and PHP as well.
    Good plug-in support - easy to install and update.. what's not to like? :-)

    Integrates with most versioning tools through plug-ins (CVS, SVN etc).

    Runs on all platforms. It's great.

  • by 1s44c ( 552956 ) on Wednesday May 27, 2009 @03:03AM (#28105883)

    If anyone says Emacs or Vi they are insane and have never done 10k lines of code in a modern environment.

    There's the thing, it's not about 'modern environment', pretty displays, or cute graphics. It's about writing good stuff and cuteness is just a distraction from that.

    Both vi and emacs can handle files with 10k lines easily. Chances are they both can handle much longer files before swapping then any IDE.

  • by iliketrash ( 624051 ) on Wednesday May 27, 2009 @03:04AM (#28105889)

    I use Apple's Xcode with the Ada plug-in from www.macada.org

  • Eclipse (Score:4, Informative)

    by ErikPeterson ( 912282 ) <dexters@NOspAM.erikgpeterson.com> on Wednesday May 27, 2009 @03:08AM (#28105909)
    I use Eclipse http://www.eclipse.org/ [eclipse.org] for all my IDE needs. I have found that it works well on any platform (and with any language) that I find myself sitting behind (or coding in). Eclipse gets my vote mainly for its very wide language AND platform support.
  • by Jartan ( 219704 ) on Wednesday May 27, 2009 @03:15AM (#28105949)

    Notepad++ isn't really an IDE but it's probably the best c++ editor I've found for Windows. If you want a full blown IDE then Eclipse is probably your best bet. It's written in Java but with a little fiddling it's not too ugly. As for Dev-C++ it's probably lost support because it's written in Delphi of all things.

  • What I use(d) (Score:5, Informative)

    by Lord Lode ( 1290856 ) on Wednesday May 27, 2009 @03:16AM (#28105961)

    Years ago I worked mainly in MS Windows, and I used Dev-C++ as the free IDE, because it's fast and simple.

    Then I switched to Linux. Tried KDevelop for a few days but didn't like it. Then discovered Kate, which can work as a sort of IDE, because you can open multiple documents, and open a console window at the bottom to type compile and run commands.

    Then KDE4 was release and Kate suddenly was unusable for programming (due to ruined search function). And that's when I discovered Geany, which is really nice, it has the same functionality as Kate but is more clearly geared towards programmers.

    Geany works great in Linux, I see that it's cross platform, so I guess you can also get it to work in Windows. But note that due to Windows not having the same compiler tools as Linux available by default, it might be handier in Windows to have something that comes with its own compiler like Dev-C++ :)

  • by zymano ( 581466 ) on Wednesday May 27, 2009 @03:17AM (#28105973)

    Express edition. Free of charge.

  • by snookums ( 48954 ) on Wednesday May 27, 2009 @03:25AM (#28106043)

    Try SharpDevelop if you ever decide to trade in C++ for C# and the .NET framework.

    http://www.icsharpcode.net/OpenSource/SD/ [icsharpcode.net]
    http://en.wikipedia.org/wiki/SharpDevelop [wikipedia.org]

    I'm not really a Microsoft platform coder any more, but I've used this one in the past and it's not bad. Basically a free (as in speech - LGPL) clone of VisualStudio.

  • by 1s44c ( 552956 ) on Wednesday May 27, 2009 @03:29AM (#28106073)

    Seriously? Swapping because of much larger files?

    Even 50MB of pure source is inconceivable to me (someone might provide a good counterexample), and that's a tiny amount of the memory of any modern system.

    I wasn't suggesting that source code comes in files 10k lines long. linzeal was suggesting it as a reason for IDE's being better than vi or emacs. I was ( trying to ) point out it was a silly argument for exactly the reasons you have said.

  • NetBeans (Score:5, Informative)

    by timothyb89 ( 1259272 ) on Wednesday May 27, 2009 @03:30AM (#28106075) Homepage

    I've been using NetBeans lately for C/C++ development, and (for the most part) it has it's usual awesome editor features. Unfortunately, the C/C++ plugin only works with the Cygwin/MinGW development tools on Windows.

    I'd say that it's most useful editing feature is it's code completion- it completes quite a few of the usual syntactical characters, and it enters them for you in a way that makes sense. Compare that to Eclipse, which only fills in (as far as I know) parenthesis and some brackets. Being accustomed to the completion NetBeans offers, I found the way Eclipse completes characters to be more frustrating than helpful.

    For example, if you have this mostly-typed statement (')' autocompleted by editor):
    some_function(something()[cursor])
    ...you might think that pressing the ';' key should make the cursor jump to the end and skip over the ')'. NetBeans will do the small things like this, where I haven't seen Eclipse do it.

    I haven't used Eclipse as much as NetBeans, so I may have missed the "turn this feature on" checkbox, but I've always found NetBeans to be a more intuitive editor. I'm not an expert C/C++ programmer (Java is my main language), so I could just be making assumptions that may be true for one language but not another. Either way, its just my $0.02.

  • Re:But it's not free (Score:2, Informative)

    by stevenvi ( 779021 ) on Wednesday May 27, 2009 @03:34AM (#28106101) Homepage

    Review their web site [microsoft.com]. Microsoft Visual Studio Express is free.

  • by wannabgeek ( 323414 ) on Wednesday May 27, 2009 @03:37AM (#28106125) Journal

    a very fast find-in-files: this may seem unsexy, but it's the number one thing i use VS for. it's so much easier to search for a symbol than navigate a source hierarchy. VS must be building indexes or something, because it takes just a second or so to grep a largish codebase for a symbol while actual grep takes maybe ten or fifteen.

    ever heard of a tool called "cscope"? It integrates nicely with vim and does the same thing you're talking about. And more.

    memory breakpoints: being able to break when a particular byte of memory is changed is pretty cool. i'm not sure if VS express has it. there is a hefty performance overhead tho, so you really only want to use it when smaller guns haven't panned out, if you'll pardon the mixed metaphors.

    gdb (the one debugger I know) does it too. One of my biggest pains with using VS is the lack of power (in other words, scripting support) for the editor and the debugger. I don't think the default editor of VS supports regex substitution even today, which is one of the most basic features of an editor. Similarly, it's very easy to fire gdb up and let a program run and collect some stuff while the program runs (breakpoints, and commands). To do it in VS editor is a pain, AFAIK.
    http://tech.slashdot.org/story/09/05/26/2249208/What-Free-IDE-Do-You-Use?art_pos=1# [slashdot.org]

  • U++ TheIDE (Score:2, Informative)

    by luzr ( 896024 ) on Wednesday May 27, 2009 @03:40AM (#28106143)
    http://www.ultimatepp.org/ [ultimatepp.org]

    Well, you would probably get more than just IDE with that, as TheIDE is quite tightly coupled with the U++ library (http://www.ultimatepp.org/L$www$uppweb$idess$en-us.html_3.png, http://www.ultimatepp.org/L$www$uppweb$idess$en-us.html_4.png [ultimatepp.org]), anyway, ide-wise:

    - it has cool highlighting, including highlighting of C++ blocks and coloring parenthesis (see http://www.ultimatepp.org/L$www$uppweb$idess$en-us.html_2.png [ultimatepp.org])

    - its C++ code-parsing abilitites (for purposes of code-navigation and 'intelisense') are at the moment said to be better than CDT's or at par with Visual Studio, although the problem is that it parses only the project files (not 'external' headers) http://www.ultimatepp.org/L$www$uppweb$idess$en-us.html_5.png [ultimatepp.org].

    - if you are rebuilding large projects often, it has very fast build process. It uses two tricks, one widely known (using multiple CPU cores to launch compiler instances), one special (combining files to avoid header reparsing). In practice, on quadcore CPU, it can build up to 16 times faster than plain make.

    - works in Win32 and X11.

    But there is also a drawback for many users:

    - as it adds a strong crossplatform modularity layer, it gets a lot of suffering getting used to it. Simply do not expect your usual Visual Studio copy...

  • Codelite (Score:2, Informative)

    by Anonymous Coward on Wednesday May 27, 2009 @03:43AM (#28106179)

    Why is it nobody seems to know about the excellent CodeLite? Described as "a powerful open-source, cross platform IDE for the C/C++ programming languages (build and tested on Windows XP SP3, (K)Ubuntu 8.04, and Mac OSX 10.5.2)" see http://www.codelite.org/

  • by Haeleth ( 414428 ) on Wednesday May 27, 2009 @03:44AM (#28106191) Journal

    If anyone says Emacs or Vi they are insane and have never done 10k lines of code in a modern environment.

    I've worked on programs much larger than 10kloc in both Emacs and Netbeaans. I gave up on Netbeans and went back to Emacs because I was just so much more productive there -- even when working in (yuck) Java.

    It's pretty modern these days, too. It has intelligent autocomplete, it has a class browser, it has jump-to-definition, it will tell me the type of the variable under the cursor, it does code folding, it does source-level debugging ... in fact, pretty much the only thing present in "modern" IDEs that Emacs doesn't have is a point-and-drool GUI designer, and that's fine by me because I don't design GUIs.

    And it is far, far better at actually editing text than any IDE editor I've ever seen.

    Also, it reads mail. :p

  • by syousef ( 465911 ) on Wednesday May 27, 2009 @03:45AM (#28106201) Journal

    Vi is one editor every professional should know the basics of because it's very feature complete and versatile. Emacs is more specialized but I'm not knocking it. However if you're developing today, you need to move away from modal editors that have awful help systems and no menus. They simply don't encourage learning and get in your way if you're away from the editor for too long and have to try to remember obscure commands (or look them up!). Note they are EDITORS. An IDE does much much more. You should also be using IDEs and editors that support multiple languages. Gone are the days when a computer professional could afford to know just one or two languages. Who the hell wants to learn the quirks of different editors for each one?

  • by Sectrish ( 949413 ) on Wednesday May 27, 2009 @03:50AM (#28106237) Homepage
    I also use Dev-C++ for my windows development, I find the interface to be superb in not getting in my way, while not being dog-ugly or slow.

    Conversely, I was searching for an alternative for linux (yes, I'll learn vi/vim some day, just not now), and what I found was Geany [geany.org]. It starts up at the flick of a finger and manages to look a lot like Dev-C++ (perhaps more polished even). The only thing I dislike about it is its (intentional) weak project support, but that could conceivably be fixed with the nice plugin system. So, Geany is very lightweight and supports quite a lot of languages, it has its default settings such that if you have the necessary compilers installed (which is basically mostly true on most linux systems, or can be done with one line at the shell), it'll work out of the box. The same for python, perl, etc.

    Then I noticed that it also has a windows port, that comes with its own GTK+ runtime (all nicely contained in Geany's folder, and nicely uninstalled if you want), I tried it and while the first startup is not as fast (due to the GTK+ libraries needing to be loaded), all the rest is just as snappy. Ofcourse the windows version needs a little more help to get started, but not _that_ much more. All you basically have to do is install MingW [mingw.org] and set your $PATH to search MingW/bin.

    So basically the only problem with Geany that still remains (for me), is that it doesn't really support projects like Dev-C++ did, so for now you basically have to make your own makefiles. This could also be viewed in a positive light ofcourse, as learning about makefiles will prove to be a good skill if you want to do some open source contribution. But I'm sure it could get tedious as well (haven't done many large projects lately), so someone developing a plugin would be really nice, and probably not too hard as well.

    Well, I've been ranting and promoting long enough now, time for Geany to promote itself, give it a spin (it's free, the only cost is your time ;) ).
  • Re:Eclipse (Score:5, Informative)

    by El_Muerte_TDS ( 592157 ) on Wednesday May 27, 2009 @03:50AM (#28106239) Homepage

    Also a great feature of eclipse is that you can install multiple copies of it on the same machine.
    This is specially useful because MANY plugins make eclipse slow. So for every major project environment (i.e. Java, or PHP, or PDT, ...) I have a separate eclipse install.

  • by zsitvaij ( 1150191 ) on Wednesday May 27, 2009 @03:56AM (#28106299)
    I'd rather use the built-in VCS-mode right from Emacs. :)

    "With the release of Emacs 22 on June 2nd a new set of version control (vc for short) modes was released as well. The Emacs Tour briefly touches on it, however it fails to point out the geniusness of this feature.

    As of 22.1.1 the following version control backends are supported: RCS, CVS, SVN, SCCS, Bzr, Git, Hg, Arch and MCVS. All commands work the same for all backends."

    more reading [credmp.org]

  • If anyone says Emacs or Vi they are insane and have never done 10k lines of code in a modern environment.

    Hoping that I'm not about to start a flame war: why?

    I assume you're qualified to make that statement, which means you know both emacs and vi very well. Whenever you think there's something $EDITOR can't do, you have (1) searched the web for that functionality; (2) asked in the relevant IRC channel(s); and (3) asked on mailing lists, news groups, forums and the like.

    Let's see; they have (I'm most certain that I'm speaking about emacs, less certain about vi)

    • Syntax highlighting (i.e. colouring)
    • Good automatic indentation
    • Automatic auto-completion of names
    • Easy code navigation (ctags, etags, ecb-minor-mode)
    • Version control integration (M-x shell or vc-minor-mode, :!git-commit)
    • Debugger integration (M-x gdb, achida*)
    • Build system integration (:!make & or M-x shell make)
    • man page (vi) and browser integration (both emacs and vi) to view your documentation

    Uhmm... what more do you want? Especially for small 10k-line projects. Example: wminput, which translates wiimote events to uinput events, is 9236 lines (in wminput/**/*.[ch]; this doesn't include bluetooth or wiimote libraries).

    I think that if you think 10k lines even begins to stretch the capabilities of emacs (or vi), you don't know either editor very well. And you can probably find people who'd point at me and laugh (and suggest I don't know the editors very well) when I suggest that 10m begins to stretch their capabilities ;-)

    And I think they'd have a good case: at 10m lines, it's not a question of good editors but of good architectures. Good architectures will allow each developer to work on somewhere between 10 to 100 klocs at a time, not worrying about anything outside their slice of code (until they move on to their next project). [But this is wild conjecture, so take it with a bucketload of salt...]

    * pronounced "a(rrrrrhhhhh)ida", like how Stallman pronounces the chi in "LaTeX" and "TeXinfo" or ch in "Bach". I'm not sure about spelling. Search Google tech talks for Bram Molenaar if you really want to know (and hey, it's a nice talk in its own right).

  • Codeblocks (Score:1, Informative)

    by Anonymous Coward on Wednesday May 27, 2009 @04:11AM (#28106387)

    I have used Codeblocks for the last 3 years now. It was pretty good when I first started using it and their latest update to version 8.02 was just icing on the cake. Plus it uses the GNU compiler for windows which make the code pretty cross platform if you aren't using OS specific calls.

    I've written console apps, graphical apps, compute games, to libraries that are being used at my university with this thing. Its basically everything nice about Visual Studio without all the bloat.

  • Re:Eclipse (Score:4, Informative)

    by buchner.johannes ( 1139593 ) on Wednesday May 27, 2009 @04:13AM (#28106391) Homepage Journal

    Eclipse is pretty awesome for C aswell: Automatic Code formatting, resolving macros (and even respect them in auto-formatting).
    Yeah and what every other does: Ctrl-Click on functions to jump there, project tree, file outline, etc.

    But at the end of the day, you'll still have to think and write the code yourself :-)

  • by XDirtypunkX ( 1290358 ) on Wednesday May 27, 2009 @04:17AM (#28106431)

    Visual Studio has supported regex substitution for quite a while, including in Express. Under the Find and Replace dialog, expand the "Find Options" and tick "Use" (with regular expressions selected in the combo box). It works in a similar way for Replace in Files.

  • by major_fault ( 1384069 ) on Wednesday May 27, 2009 @04:22AM (#28106467) Homepage
    I have to recommend Code::Blocks. I used Dev-Cpp for a long time before Code::Blocks and I've tried Visual Studio, but Code::Blocks wins at least for now because: 1) it starts up and is mostly faster on my machine than Visual Studio, 2) it supports more than one compiler (can compile with both gcc and cc), 3) and the best part is that you can have the project directory respond to actual directory layout when you have made the project before without an IDE. If someone gets a fatal error in case of Code::Blocks was probably because of not downloading extra package with .dll-s. Also, it's safe to use it's nightly builds.
  • by Dr. Hok ( 702268 ) on Wednesday May 27, 2009 @04:29AM (#28106507)

    I've used eclipse since version 2. I can't comment on it, I'm still waiting for it to open.

    Huh? OK, Eclipse may start up slower than freecell, but I usually start it only once a day while I pour me a coffee. The real issue with Eclipse is that it's (almost) no use with less than 2GB memory, so it doesn't really run everywhere (yet).

    I tried it as a C++ IDE for a while and found it quite nice, only to find out that C++ sucks compared to Java (from a developer's POV). I had to look at someone else's code and it was uber-hard to locate the places where all those macros and typedefs are. I haven't found an IDE that can help you here, so I ended up grepping a lot.

    NB: As a Java developer I was mildly insulted by the fact that TFA never even bothered to mention that he's looking for an IDE for C++.

  • by Anonymous Coward on Wednesday May 27, 2009 @04:37AM (#28106545)

    Emacs is more specialized but I'm not knocking it.

    Did you just seriously call emacs more specialized than vim*? Really? It's basically a Lisp environment with stuff handy for building text editors (and a nifty little example program implementing one). It couldn't be less specialized if they tried.

    However if you're developing today, you need to move away from modal editors

    No, you don't. And emacs isn't a modal editor.

    that have awful help systems

    As a vim user with little emacs experience, I can't speak for it (though you're probably horribly wrong there too), but vim has an excellent help system.

    and no menus.

    Both editors have GUI versions with fancy menus, if that's your thing.

    They simply don't encourage learning

    Learning the basics is plenty easy with emacs. You have to learn more if you want to know every single tiny little feature of it, but that's because it puts 'modern' IDEs to shame. The general stance among vim users is that while it's harder to learn, once you do, it's more efficient. And it also puts IDEs to shame.

    and get in your way if you're away from the editor for too long

    set showmode, and more importantly, you should read the first point of this article [viemu.com]. You should read the rest too, probably, but that's the relevant part.

    and have to try to remember obscure commands (or look them up!).

    Again, the whole "GUI versions with menus" thing.

    Note they are EDITORS. An IDE does much much more.

    Both can do just about anything an IDE can. And from the other direction, every single IDE I've seen is nowhere near as good at the whole "editing text" thing that is so fundamental to programming. They tend to be on the level of something like ed at most, and often less.

    You should also be using IDEs and editors that support multiple languages. Gone are the days when a computer professional could afford to know just one or two languages. Who the hell wants to learn the quirks of different editors for each one?

    Both emacs and vim support ridiculous amounts of languages.

    You are hilariously ignorant and basically every single word of your post is wrong.

    *I am going to be talking about vim because unless you are talking about a decades old emacs implementation, it's not really a sensible comparison

  • Code::Blocks (Score:3, Informative)

    by apharmdq ( 219181 ) on Wednesday May 27, 2009 @04:42AM (#28106581)

    I used DevC++ for quite some time until I found out that it was out of date as well. Since then I've used Code::Blocks, and I find it to be quite an improvement. Since it's cross platform, working on different operating systems is pretty easy too.

    KDevelop is my alternative choice. For all intents and purposes, KDevelop is my favorite IDE, but since it's only on Linux at the moment, Code::Blocks is my best choice for now. (Still, KDevelop is quite powerful, and I'm eagerly awaiting the cross-platform release.)

    Eclipse is also a great choice, though I haven't used it nearly as much. I feel it's a little more focused on Java development, but many /.ers swear by it, so it's probably worth a try.

    And on a final note, I've been using Vim a lot more often lately, and with the IDE plugins detailed in the Ars Technica article [arstechnica.com], I may make that my IDE of choice in the near future. (For others, there's Emacs. Both are great, take your pick.)

  • Re:KDevelop (Score:2, Informative)

    by macson_g ( 1551397 ) on Wednesday May 27, 2009 @04:49AM (#28106613)

    I find KDevelop to be excellent IDE for C/C++ development. IT has few rough edges, but tons of features makes it simply the best choice. Integrated debugger, valgrind and cachegrind support, integrated documentation viewer, doxygen generator, ctags, version control etc.

    Most professional Linux developer I know are using KDevelop. Others are using Vim and Emacs. I have Emacs guy here who - when exposed to some nasty KDevelop's feature - always claims that "Emacs supports it too, I only have to find and install proper extension". He usually fails or forgets to do so.

  • by sardaukar_siet ( 559610 ) on Wednesday May 27, 2009 @04:54AM (#28106641)
    ... but Visual Studio Express is actually quite good. I'm a Linux guy, and I use Komodo Edit (I do mostly "dynamic language" development now) and before that I used Eclipse for C/C++ and Java, and although Eclipse gets a lot of things right, it can't beat Visual Studio's breadth of features and simplified work-flow. Of all the things MS has done over the years, VS is hands down (IMHO) the best. They don't give it away with all the features so as to not kill the 3rd party market, but it's clear nothing out there in Win[32/64] land comes close (especially for C++ and C#).
  • by Anonymous Coward on Wednesday May 27, 2009 @04:58AM (#28106663)

    I do the same in Eclipse when coding in Java at least, modify code, and variable value, while the code is running and testing the result without the need to relaunch...what is your point ?

  • by AlXtreme ( 223728 ) on Wednesday May 27, 2009 @05:06AM (#28106723) Homepage Journal

    The person using GVIM or EMACS has 10,000 lines BECAUSE of GVIM, or EMACS... Flipping files in an IDE is trivial... In an editor like GVIM, or EMACS it is not a trivial. Ok not that hard, but I wonder if tedious as compared to an IDE.

    Bollocks: Ctrl-x b. For us emacs-users, it's second-nature.

    The reason why so many people still prefer vim or emacs is that we can do everything efficiently using the keyboard only. Coding, switching files, compiling, debugging, everything. And we can do that on our own computer, or on one on the other side of the world with merely ssh and the command-line editor of choice.

    You might think that something as simple as switching between files isn't trivial in vim/emacs, but that only shows that you haven't learned either. You can point and click all you want, but programming isn't done with a mouse.

  • by JPeMu ( 942971 ) on Wednesday May 27, 2009 @05:21AM (#28106825) Homepage
    For full-blown development, I use Embarcadero (formerly CodeGear/Inprise/Borland) RadStudio - There's a free version "Turbo C++ Explorer" which is a full version with the caveat that you can't create/install custom components for the Visual Component Library (VCL).

    I've also extensively used Dev-C++ in the past - whilst I do like it, it often crashes, especially when performing Code Completion lookups on large projects. That said, the exception handling is fairly robust and I've never yet lost anything due to it crashing.

    The C/C++ support in NetBeans is excellent - Code Completion works well, and the environment is very comfortable to work with. It also produces Makefiles for you enabling you to build your project easily outside of the IDE. I've never tried the Eclipse plugins for C++ as I find Eclipse too cumbersome to use - it has way too many features, often presented at the "top level" of the UI where the features you actually want are buried in nested menus/dialogs as opposed to pretty much all other IDEs I've used where the features you need are found comfortably to hand. YMMV of course.

    Lately, I've taken to using Code::Blocks - It's by far my new preferred "small and simple" IDE. It's a fairly small footprint, available for both Linux and Window (possibly Mac too?), and most significantly for me doesn't require a Java install. I'm not convinced that it's easy to reliably generate Makefiles from it, but I haven't really tried all that hard. The Code Completion is good, as are the Symbol Browser (Class navigation) and GDB integration, and there's a number of plugins available to perform other tasks including profiling and suchlike.
  • by Nutria ( 679911 ) on Wednesday May 27, 2009 @05:22AM (#28106837)

    never even bothered to mention that he's looking for an IDE for C++

    Read more thoroughly.

    I work from a Windows machine, use C++, and make

    I could be snide and say that's a symptom common to most Java programmers, but it would be too easy.

  • Re:KDevelop (Score:3, Informative)

    by sqldr ( 838964 ) on Wednesday May 27, 2009 @05:35AM (#28106919)
    Tip of the week: Even if you're not writing QT code, the integrated qmake builder works WAY better than the autoconf stuff.. then again, anything works better than autoconf ;-)
  • by Chief Camel Breeder ( 1015017 ) on Wednesday May 27, 2009 @05:59AM (#28107051)
    Loading time depends strongly on the number of NetBeans modules. With the default modules only, my current copy of NetBeans starts about as fast as my Eclipse on the same host. My old copy of NetBeans 5.5, which has loads of might-be-interesting modules, loads very slowly.
  • by Mornedhel ( 961946 ) on Wednesday May 27, 2009 @05:59AM (#28107057)

    Vi is one editor every professional should know the basics of because it's very feature complete and versatile. Emacs is more specialized but I'm not knocking it.

    Not true. You've obviously never used Emacs. Vi(m) users usually make fun of Emacs because it does everything except coffee. Seriously, it's the standard troll vs. Emacs.

    However if you're developing today, you need to move away from modal editors that have awful help systems and no menus.

    Well it just happens that Emacs is not a modal editor. Also, it has a complete help system, and whaddayaknow, it has menus.

    They simply don't encourage learning and get in your way if you're away from the editor for too long and have to try to remember obscure commands (or look them up!).

    Now you have a (semi-) point. At least you'd have one if common commands weren't accessible through the menu.

    Note they are EDITORS. An IDE does much much more. You should also be using IDEs and editors that support multiple languages. Gone are the days when a computer professional could afford to know just one or two languages. Who the hell wants to learn the quirks of different editors for each one?

    I'm sorry, what ? Neither Emacs nor vi are single-language (I use Emacs for C++, Java, Perl and a bit of Erlang, and it has support -- syntax highlighting, compiling/debugging, indentation... -- for about every language you've heard of and many you've never encountered). Also, Emacs is not an editor. It's got every feature an IDE has, and more.

  • by PeterBrett ( 780946 ) on Wednesday May 27, 2009 @06:04AM (#28107079) Homepage

    Say you're working with git (but it may be the same with other VCSs, not sure).

    Say you run git-commit -a (with no -m) in a M-x shell. Then git wants to spawn your $EDITOR so that you can edit your commit message (and see what you're committing).

    In that case, you'd want either emacsclient, which tells emacs to open up a new window for the to-be-edited file (and when you say you're done, emacsclient terminates).

    Or you could save yourself the effort and just use git.el, which integrates git into Emacs.

  • Re:oOps (Score:4, Informative)

    by chthon ( 580889 ) on Wednesday May 27, 2009 @06:13AM (#28107139) Journal

    Emacs can be compiled without problems under Windows, but is then strictly Windows, with \ for paths and \r\n for line endings.

    You can also compile Emacs under Cygwin, but then it is strictly POSIX and needs a X server to run, otherwise it runs in -nw mode.

    Xemacs, however, can be compiled under Cygwin, but recognises that it is under Windows and runs all graphics natively, obviating the need for an X server. That is why I currently only use XEmacs on my job, it works POSIX with Cygwin, but runs natively under Windows.

  • by petrus4 ( 213815 ) on Wednesday May 27, 2009 @06:51AM (#28107375) Homepage Journal

    If you want to be able to move around 50+ line files rapidly, Vim can be invaluable. It can also have syntax highlighting support, which can be very useful for reducing bugs.

    The only other two things that IDEs do that I can think of are template/skeleton generation and app launching. Vim is scriptable, and modes have likely already been written to launch/manipulate just about every app you can think of, from tar to cvs to even things like IRC and email. There's even a file management/ftp browsing system for Vim.

    If you need a template generator, writing one yourself shouldn't be too difficult; you can also do it in anything from Perl to PHP to shell, as well.

    Vim is one program which a lot of people tend to knock before they've tried it because, when you don't know anything about it, it can seem extremely intimidating, incomprehensible, primitive, and deeply strange. I did it myself.

    However, once you start using it, you'll discover that while it does take some getting used to, it is actually none of those things. It is the product of a very large amount of programming experience, and a maintainer and users who are programmers themselves, so they know exactly what a programmer's editor should contain.

  • Re:Quite (Score:5, Informative)

    by ThePhilips ( 752041 ) on Wednesday May 27, 2009 @07:09AM (#28107503) Homepage Journal

    I thought people preferring GNU make did so due purely due to availability or having all their experience with that - but if I read you right, you say you actually have deep experience with both and still prefer the GNU variant?

    I used BSD make ~10 years ago and only very shortly. So I can't really opine on it.

    GNU make is often pain, but with careful planning it's getting the job done. But from my experience I would admit that GNU make has enormous capacity to confuse and freak out people. Lazy evaluation isn't for everybody. I probably should be considered GNU make profi, as I have read through its documentation numerous times already. That further precludes me from commenting on BSD make.

    I personally prefer (and use for all my pet projects) GNU cons. It's simple and perl based. (N.B. There is also SCons which is Python based. At times slower than cons, but has more features and more portable.) Cons is pretty much only known to me solution to retain sanity on large projects: built-in dep checker, built-in installation support, proper dependency handling for static libraries, built-in object caching, support for commands having multiple products, etc. But the main goal of cons (and what I love it for most) is to guarantee consistent builds: unlike make(s), cons uses MD5 to check whether the source have changed. (Though can be reconfigured to use timestamps). Takes time to get used to, but is really worth it.

  • Re:Quite (Score:2, Informative)

    by PeeShootr ( 949875 ) on Wednesday May 27, 2009 @08:24AM (#28108003)
    Yes! And when you build a house, you should only use hand tools!! A real car has no electronics either!!! Give me a break. You should use the right tools for the job. If someone wants to use an IDE becuase it has code completion, built in docs, etc. So be it!!
  • Re:Quite (Score:5, Informative)

    by delire ( 809063 ) on Wednesday May 27, 2009 @08:58AM (#28108333)

    Sounds like you've never found an IDE that suits you. I've tried using the vim + gdb + strace type of development and gotten along just fine, but when you find a decent IDE with a good debugger, stack trace, good search facility, debug probe and a ton of other helpful tools it's hard to go back to messing around with lots of separate ones.

    Vim with Exuberant CTags, GNU tools and a little self-education comprises a fully featured IDE.

    The reason so many use and keep using Vim as an IDE, even for large projects is that they can roll together the toolchain - including debugger, profiler, code browser - and builders that suit them, in the way that suit them. Much of the time the people that complain that Vim cannot function as a full featured IDE seem unaware of Vim's shell interface (:!<program> <args> && <program2> <args> [..]) or its 'plugin' architecture, let alone tabs, split modes, keyword completion, folding or numerous other features typical of other IDEs.

    A single terminal hosting Vim is enough to comfortably develop large projects in almost any popular language, covering coding, compiling, debugging and execution. Having worked a lot with the awfully bloated and manifold XCode, the sprawling and mysterious Visual Studio and a little with the rather nice Code::Blocks it's clear that I have no reason to consider changing IDE, for the time being.

  • QTCreator (Score:2, Informative)

    by lenKite ( 631339 ) on Wednesday May 27, 2009 @09:00AM (#28108353) Homepage
    I am really surprised no-one mentioned QtCreator which runs on Windows too. You can use Mingw or the visual c++ compiler with QtCreator. Unfortunately you can debug only using Mingw.
  • by Joce640k ( 829181 ) on Wednesday May 27, 2009 @09:13AM (#28108491) Homepage

    It's not about "not having a choice". Windows programmers aren't stupid, they figured out IDEs are far more productive.

    To answer the question: Visual C++ Express is the one. Lightweight IDE, best compiler, most standards compliant, best debugger ... it's a free download so don't waste time looking at anything else.

  • by blaisethom ( 1563331 ) on Wednesday May 27, 2009 @09:14AM (#28108493)

    I've tried a few IDEs and this is what I found for C++ development:

    *Visual Studio*
          - Best debugging
                  - Handles stl strings, etc
                  - Easy to change variable values while debugging
                  - Not very good with stl iterators
                  - Nice GUI for debugging
          - Best interface
                  - Code completion, etc is all great
          - Have to use project files: a pain
          - A bit bloated (though not as slow as Eclipse)

    *Code::Blocks*
          - Debugging is pretty good
                  - Sometimes a bit buggy (Sometimes can't change variables and stl templates a bit weird)
                  - In theory does lots of good stuff
          - Interface is nice
                  - Not quite as clean as VS but getting there.
                  - Allows plugins... could make it better than VS in future
          - A lot less bloated then VS
          - Project files are better than VS
          - Allows for normal Unix makefiles
          - Multi platform

    *Eclipse/C++*
          - Debugging not implemented in the C++ plugin
          - Nice interface
          - Really bloated, way too slow for me

    *Emacs/make*
          - I don't know how to use the debugging extensions and I don't feel like spending months to learn them
          - Great when running things over ssh, no other method really works

    Overall, I find that the debugging capabilities are by far the most important to me. So I use VS for almost all of my development. In fact, it's the only reason I still use Windows.

  • Re:Eclipse (Score:4, Informative)

    by oldhack ( 1037484 ) on Wednesday May 27, 2009 @10:36AM (#28109477)

    Language-sensitive reference search sold me on Eclipse. No more recursive grepping through the source tree. That was years ago, and now all IDEs seem to have that and more in varying capacity.

  • Re:ID what? (Score:2, Informative)

    by mlk ( 18543 ) <michael.lloyd.le ... NoSpAM.gmail.com> on Wednesday May 27, 2009 @10:39AM (#28109521) Homepage Journal

    Eclipse would barely even *run* on this machine, utter rubbish

    Wow, what machine are you using?!

    I use a Netbook (Atom 1.6GHz CPU, 2GB of RAM & shitty GC) and runs Netbeans, Eclipse and Visual Studio happily. Sounds like you are blaming the IDE for a shitty machine.

  • by hr.wien ( 986516 ) on Wednesday May 27, 2009 @11:03AM (#28109835)

    I've never understood the sad devotion to vi and vim and other obfuscated tools that UNIX elitists have.

    It's because if any part of the toolchain doesn't work for you, it can easily be exchanged for something else without having to exchange the entire toolchain.

    Don't like vi? Use emacs instead. The shell and all the other tools you're using won't care. Don' like the Visual Studio editor? Tough!

  • Re:ID what? (Score:3, Informative)

    by gparent ( 1242548 ) on Wednesday May 27, 2009 @11:50AM (#28110539)

    That same code completion will also embed spelling mistakes in the API because programmers are to lazy to type out the method names and so wont notice when they contain spelling errors. The background compilation process takes resources and will (in all IDE:s I have tested) increase the IDE:s latency. If you type faster than the IDE can process your input, the syntax checking soon becomes more of an annoyance than an advantage.

    That same IDE also has a "Rename" button which will automatically replace every instance of the method name by its correct name, and it will work even if it is used as a variable name in other places in the code. As for the latency, it's a non-issue. There is no latency.

    Right, you have to double click on the warning. When I see the warning in the shell, I press alt-tab, C-x b, M-g, enter the line number and I'm right at the line that the compiler complained about. And I can do that much faster than it takes you to reach the mouse, scroll the IDE:s compiler output window and double-click on the warning.

    Not only is a double-click much faster (and I type fast), but even if it wasn't, Visual Studio also has a shortcut for direct line fetch (And it's a lot shorter than that C-bufferbly instructions manual you just wrote)

    For newbies and people who cannot touch type, yes. For professional programmers, not so much.

    It has nothing to do with being a "newbie" or not, that's just emacs elitism shit. There are VS newbies just like there are emacs newbies, and while you don't seem to be an emacs one, it's obvious by your post that you ARE a Visual Studio newbie, and in that case it's no wonder you think it's so slow and clunky when it's in fact faster.

  • CodeLite? (Score:3, Informative)

    by stonewolf ( 234392 ) on Wednesday May 27, 2009 @01:04PM (#28111733) Homepage

    Take a look at http://www.codelite.org/. I occasionally teach C++ and I have the problem that not all students have a C++ dev platform installed. If they have one, I let them use it. If not, I recommend CodeLite. I spent a lot of time looking for an cross platform free IDE that I could recommend to students. I needed something that worked. Something that was pretty simple to get people up on running on. And, because students come from many backgrounds and have different ability to pay I really wanted something that was free. I used to use Dev-C++, but support for that project is over and wxDev-C++ is to closely tied to wxWidgets.

    CodeLite works, is reasonable easy to learn, and it is free.

    Stonewolf

  • Re:Quite (Score:2, Informative)

    by plague3106 ( 71849 ) on Wednesday May 27, 2009 @03:29PM (#28113839)

    Hmm... I'd go as far as to say, why the hell is any modern developer having to worry about = or := in makefiles anyway? Christ, there's a reason modern IDEs handle all this for you... its tedioius, error prone, and saps your time from the REAL issue, which is building the application.

    To the Ask poster, use VS Express, and ignore the retards complaining about "handholding." I assume you want to program to get something done, not spend time on tasks barely related to programming and which modern tools have solved nicely.

  • Re:Quite (Score:3, Informative)

    by bonefry ( 979930 ) on Wednesday May 27, 2009 @03:39PM (#28113965)

    Emacs has good GDB integration (it also integrates with the debuggers of Python and Perl, and can be integrated with any command-line debugger). It's basically what Eclipse CDT does (which also integrates with GDB).
    Emacs also has a good LaTex editing mode.

    That's the biggest advantage of Emacs over Vim. In Emacs you can integrate external tools without blocking the main thread, making it possible to execute those tools in the background. Emacs is a lot more IDE-like.

    Why would you need UML modeling? Surely UML diagrams are good for documenting the code, but not for development.

2.4 statute miles of surgical tubing at Yale U. = 1 I.V.League

Working...