Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I'm trying to learn C. As a C# developer, my IDE is Visual Studio. I've heard this is a good environment for C/C++ development. However, it seems no matter what little thing I try to do, intuition fails me. Can someone give good resources for how to either:
learn the ins and out of C in Visual Studio
recommend a better C IDE + compiler
Edit: See also: https://stackoverflow.com/questions/951516/a-good-c-ide
well you can use visual studio just fine take a look at here man
http://www.daniweb.com/forums/thread16256.html
Go to View Menu select Solution Explorer or CTRL+ ALT +L
Then Select The project that your are developing and right click on that.
Then select the Properties from the submenu.
Then select the Configuration properties from the Tree structure. under that select C/C++ then select Advanced. Now in the right side pane change the property
Compile As from Compile as C++ Code (/TP) to Compile as C Code (/TC)
Finally change your file extensions to .c
Now you configured you Visual Studio to compile C programs
And you can use NetBeans too it could even be more user friendly than Visual Studio download it you wont regret i promise
The problem with learning C within Visual Studio is that you are compiling C using the Visual Studio C++ compiler. You might want to try learning C using the GNU GCC compiler from within the Cygwin environment in Windows.
Answering the purely subject question "recommend me a better C IDE and compiler" I find Ming32w and Code::blocks (now with combined installer) very useful on windows but YMMV as you are obviously used to the MS IDE and are just struggling with C.
May I suggest you concentrate on console applications to get a feel for the language first before you attempt to tie it together with a windows UI which in my experience is the hardest bit of windows development.
Simple and sweet: Console applications (basic C programs using printf and such) are easily and cheaply done with the Tiny C Compiler - a no frills, no gui, complete C complier.
http://bellard.org/tcc/
However, C development is relatively simple on Visual Studio as well. The following instructions will set Visual C++ up as a good C compiler, and it will produce console applications at first, and yo can move up into more complex windows apps as you go.
Get the Visual Studio C++ edition (express is fine)
Start a new project - disable pre-compiled headers (maybe the wizard will let you do this, maybe you'll have to change the compiler settings once inside the project)
Delete everything inside the project.
Create a new "example.c" file with the hello world example
Compile and away you go.
Alternately, get a linux virtual machine, or Cygwin. But as you already have Visual Studio, you might as well stick with what you know.
As an aside, this isn't Atwood learning C finally, is it? No ALTs! ;-D
-Adam
Bloodshed Dev-C++ is the best windows C/C++ IDE IMO: http://www.bloodshed.net/
It uses the GNU compiler set and is free as in beer.
EDIT: the download page for the IDE is here: http://www.bloodshed.net/dev/devcpp.html
As already said, you should check out the VS.net C++ edition, but if you'd like to try something else Eclipse has a C++ edition. You can get more info from http://eclipse.org or check out the distro at http://www.easyeclipse.org/site/distributions/cplusplus.html
The problem with learning C within Visual Studio is that you are compiling C
using the Visual Studio C++ compiler. You might want to try learning C using
the GNU GCC compiler from within the Cygwin environment in Windows.
This is a legitimate response, I posted an IDE that uses the GNU compilers, so why has he been down modded?
This is the type of thing that will make me not use SO, why down mod someone just because they are recommending a different compiler, and IMHO, a better one then Microsoft's?
get real people, and #Antonio Haley I gave you +1
http://xoax.net/comp/cpp/console/Lesson0.php
Any use?
Some people say that a smaller IDE is better for learning. Take a look at Code::Blocks. It's generally true that beginning C in an IDE is hard because not many books explain enough to control the IDE. Perhaps starting in a console and a basic text editor with syntax highlighting would be better – at least under Linux. Since Windows' console is far from great, I'd not recommend using it.
/EDIT: Dev-C++ used to be the best freely available IDE for Windows. However, it's development has been discontinued years ago and the most recent version unfortunately is full of bugs.
There's a very good reason to learn C and C++. The reason is that there's a lot of C and C++ code out there that are performing very real and important tasks. Someone who considers themselves a programmer and a learner(doubtful that you can separate the two) can learn a lot from these lines of code.
You can learn a lot from each language by studying the other, but if you really want to grok C it's a lot easier to separate yourself from anything C++ for a while. Visual C++ is great but GCC is a great way to thrust yourself into vanilla ANSI C without having to mentally sidestep any C++.
#mmattax thanks!
C in Visual Studio is fine, just use the command line compiler that is included in the Pro edition. Yes its the C++ compiler but treats all files ending .c as C . You can even force it to treat ALL files as C with a switch. The VS documentation has entries on it, just search the index for Visual C.
Visual Studio is one of the best IDEs for C/C++.
I don't think it is complicated and hard to use - if you have questions about it - ask them.
Some other compilers/IDEs are fine too, but if already have Visual Studio and have used it - why not stick to it?
For plain C, I suggest Pelles C. Generates optimized code and supports C99 constructs.
Features:
Support for 32-bit Windows (X86),
64-bit Windows (X64), and Windows Mobile (ARM). Support for the C99 standard.
Integrated source code editor with call tips and symbol browsing. Integrated source-level
debugger. Project management.
Inline assembler for X86 and ARM.
Integrated resource editor. Integrated bitmap, icon and cursor editor. Integrated
animated cursor and video editor.
Integrated hex-dump editor.
Supportfor custom controls in the dialog editor. Support for custom project wizards.
http://www.smorgasbordet.com/pellesc/
When i used visual studio 5.0 it should compile c code as long as the header files and lib. are there for the compiler to find. In fact most C++ compilers like G++ will compile C code just fine. But i'm not sure how well.. If you are targeting a platform then you can change the header files and lib. within you IDE and Compiler.
Visual Studio has a great debugger that no other Compiler that i have seen can compete with. I have been using gcc darwin10 4.2.1 and find the debugger is basically just the one you can getfree with any linux flavor. I recommend you learn both on a plain vanilla gcc compiler and also try visual studio which costs money. The express edition does not allow the use of threading and several other things that I forgot about. Visual Studio 5.0 should be ok to use and the debugger is much more human friendly then the one commandline version called GDB. Try DDD on linux which is similar to XCODE's debugger.
Although C++ and C are different you can compile both together. But you should understand each ones flaws and good points. C code is faster, but C++ is much easier to write and manage larger code. C++ is object oriented but C is procedural while they are both imperative languages. I would suggest learning objective-C since you can use both C++ and C libraries. Using the features you like in all three languages!!!
Visual Studio or Express do consider .c files as C code, but the compiler will keep giving warnings, and irritating suggestions which you do not require, in the debugger. Gives an indication that Visual C++, as the name suggests is optimized for C++ development for the Windows Operating system, which was originally written in plain pure C.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I've been coding C/C++ in a Linux environment, and that has been a breeze (Open terminal > Vim > code > gcc > done). I'm trying to get into doing the same in Windows, and it hasn't been nearly as easy. I've gotten Vim to run out of terminal, as I do not like IDEs, thus I'm looking for a Windows compiler that I can work with via command-line.
My problem is that I can't find the official Windows compiler for C/C++, Microsoft support was useless, and MSDN keeps pointing me to Visual Studio. There are a plethora of questions here on SO, and the web about compilers for C/C++ on Windows, with suggestions like Dev-C++, but that comes with GCC. Visual Studio supports C/C++, and I would assume that compiler is the official one, but I've had no luck in finding just the compiler. The closest I've gotten is either the Windows SDK or Visual Studio Express 2015.
Additionally, I was told in the Stackoverflow C chat room, that C is no longer a subset of C++, so does that mean I need to find 2 compilers, one for C and one for C++?
I'm also trying to figure out where C/C++ libraries are. On Linux, they're already there. Is that the case with Windows, if not where do I find their C/C++ libraries?
I didn't expect it to be so difficult to get started, nor did I expect to get lost so quickly.
Interestingly enough, I found an answer to the OP's question which I believe warrants a post rather than a comment.
Microsoft does provide a stand-alone Visual C++ compiler in what they call 'build-tools'. You can get one here:
https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017-rc
(Look for Build Tools at the bottom of the page)
First of all there is no "official" compiler for Windows; the fact that Microsoft produce both development tools and operating-systems is a historical coincidence I won't do into. There would be all sorts of anti-trust issues if they tried you to force you to use only their tools. There is an official Windows SDK; and that is only available with Microsoft tools; but that too is not a barrier to Windows API development using other tools.
Visual Studio is the name of Microsoft's IDE that supports a number of development tools and languages. The C++ compiler component of Visual Studio also supports C compilation (in common with more-or-less all C++ toolchains - that's why you often see the much hated on SO term C/C++ - because most often the toolchain is a C and C++ toolchain - not because there is a language of that name). The fact that C is no longer an exact subset of C++ is not really an issue.
All compilers, regardless of whether or not they come embedded in some IDE have a command line interface. Microsoft fully document theirs, so I am not sure why you could not find it: https://msdn.microsoft.com/en-us/library/f35ctcxw.aspx.
To get Microsoft's tools you have to install one edition or another of Visual Studio, but you do not need to use Visual Studio to drive the compiler. However perhaps the most compelling reason to use Visual Studio is its debugger - by far the best debugger available for any platform (IMO). There is a command-line debugger CDB, but unless you love whipping yourself with birch twigs or using GDB (much the same thing), then you'll hate it.
Microsoft have long concentrated on C++, and for a long time C was left at the ISO C90 level of compliance; this has changed somewhat in more recent releases and while 2015 is improved, you would do better to use Visual Studio 2017. There is no longer an express edition of Visual Studio, it has been replaced with the "Community Edition" with slightly less permissive licensing. https://www.visualstudio.com/downloads/
All that said, you do not have to use Microsoft's compiler to write Windows applications in C. MinGW (http://www.mingw.org/) is a native Windows GCC based toolchain that instead of using the POSIX dependent GNU C library, uses Microsoft's C runtime (via the DLL's included with Windows), and includes the necessary header files and export libraries to access the Windows API DLLs too. Since Microsoft no longer licence the official Windows SDK (and the open-source MinGW could hardly use it in any case), the MinGW Windows SDK headers used to lag somewhat, but since Microsoft have more-or-less abandoned the Windows C API in favour of .NET, the API is more or less fossilised.
The advantage of MinGW is that it is the same GNU toolchain you are used to, and includes all expected GNU utilities such as make, gdb and binutils. It even includes a bash-like shell MSYS (which you do not have to use, but makes porting, configuring and building some open-source projects easier).
Like Visual Studio, Dev-C++ is not a compiler or toolchain. It is an IDE. It typically uses MinGW as its toolchain. The same goes for Code::Blocks for example.
One issue with using the command line in Windows for development is that it is not as complete or fully functional a shell as say bash for example. You may get frustrated with it is you are a bask power-user.
The compiler is included with Visual Studio. It is called "cl" and can be run from the command line. See these links for instructions:
Walkthrough: Compiling a Native C++ Program on the Command Line
Walkthrough: Compile a C program on the command line
They basically amount to "Open terminal > notepad > code > cl > done". Not as hard as you're making it out to be. I believe the instructions in those links also apply to the stand-alone build tools mentioned by the other answer.
There are better editors than notepad, and alternative compilers, but the question wasn't about editors, and cl is as close to an "official" compiler as you're going to get, so we won't get into that here.
I am used to Java and Eclipse, as that was what I first programmed with. That said, in Eclipse, when debugging Java, you can make code changes, and save them, while the code is running. The changes to the code will then take effect in the debug window, without a change to your code.
I am wondering if you can do the same thing, or similar with C++. I am currently using Code::Blocks, and I'm wondering if there is a debugging plugin for it that does the same thing, or similar. I know about Edit and Continue in VS, but I would really rather stick with Code::Blocks. Also, I have not programmed C++ in Eclipse yet, and will hot swapping C++ work in Eclipse? Or is that a Java feature?
What you're looking for is a feature of the entire toolchain, including the compiler, linker, loader, and debugger. Visual C++ has this feature because Microsoft has made all its tools work together to support it. Similarly, the same effort has been spent to make Java work this way.
As far as I know, Code::Blocks is just an editor but delegates the compiling and linking to other compilers (without specifically integrating with their features).
Java is JIT compiled (just in time, compiled at runtime) making this feature, perhaps not trivial, but not as significant a challenge as it is to implement in a C++ environment. I've been developing in Visual Studio for 10+ years now, and to be honest, I find edit and continue rather useless.
As to having it in Code::Blocks, gcc would have to support incremental compilation before this was put significantly on the agenda of many C::B users. There was a project to add this functionality, but I'd say at this stage, you're out of luck.
To quote the FAQ, 'No question is [...] too "newbie"'
What is the best way to set up an Windows system (vista, if that matters) to work with C++?
Preferably with a nice IDE, easy compiling of software (support for make files, etc.), but suitable for a beginner.
I would quite like the IDE to use a relatively portable format, such as makefiles and configure scripts, nothing too proprietary.
I would also like the ability to add new libraries etc. without much hassle, and work with the majority of C++ code others have written.
I am comfortable using the command line.
Thanks for the help, hopefully the question is clear. And apologies if it's already been answered, i did have a look for similar questions.
I know this is not exactly 'nothing to proprietary' but you should give a look at the free Express Edition of Visual C++. Under its covers you'll get all the familiar make and command line tools, but wrapped in a polished IDE.
If you're really comfortable with the command line then you can make an IDE from code editor on top of a compiler/debugger suite. MS's own command line tools come with the platform SDK (free) and you get an awesome debugger in Windbg. My personal favorite code editor is Code Insight. I wish so hard for a Mac version /sigh.
Microsoft's Visual Studio has a free express edition which contains pretty much everything you need to program c++.
For a Gui, the main choices are probably, MFC (old and ugly), CLR/.Net (new and confusing) or look at Qt(now LGPL) or wxWigets
There are quite a few good IDEs for C++ available on Windows.
The de-facto standard for professional software development is Microsoft's Visual Studio, which is available in different versions, like the free Express Editions. This will give you a great tool-chain for Windows development.
However, for a more "cross-platform" approach, you should have a look to the free Eclipse C++ Development Tooling, which is available for many platforms. As long as your own code is platform-independent, the whole project can be shared between Windows, Linux, Mac, etc.
Other alternatives are MinGW or CygWin that both allow to use the GCC toolchain on Windows.
Try the MinGW compiler, it will come with a C and C++ compiler, Make, etc--among many others. This can be used from the command line, pretty easily: g++ -o someprogram.exe somecode.cpp
As for an IDE, there are lots out there. Right now I am using Code::Blocks, and so far it's been really nice. As well, it already supports the GCC compiler, and sets many of the appropriate flags for you, so all you'll really need to do is hit the "build" button.
Some others you might want to try are Eclipse, which is really powerful, but lots of its "power" will be really confusing and difficult to use until you start getting used to it. Visual C++ is another one, which (obviously) would integrate very nicely into Windows. Of course, you could always use emacs :)
I suggest you evaluate CodeBlocks.
Microsoft's Visual Studio is powerful but rather proprietary. If you prefer open/portable stuff, I recommend Dev-C++ and Cygwin.
FWIW, I recently went through this and tried the VC++ Express and QT Creator based stuff. Coming from a linux/unix background I found that QT was a little better since it was using the Ming compilers and some make based constructs.
If you will only be hacking for windows I would go for Visual Studio. It will definitely save you time you can spend on coding instead. Most open source out there for windows either already have VC project, and if they don't it is usually very simple to set one up. And normally they have either make or nmake files for you to build VC compatible libararies to link with.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
I'm aspiring to work in real-time 3D graphics. I work almost exclusively in C++, with a healthy smattering of win32. Realistically, do I have any sane alternatives?
You can use the MSVC compiler without the IDE. That's probably your best bet. It's a good compiler, and it is the de facto standard for Windows development.
There is definitely nothing wrong with ditching the IDE and simply using the compiler.
I believe the MSVC compiler can be used from the Code::Blocks IDE with no problems.
Alternatively, invoking the compiler from the command-line is a tried and true approach too.
Eclipse: http://www.eclipse.org/
Code::Blocks is pretty cool: http://www.codeblocks.org/
Depends...
Cygwin/Mingwin gives you a compiler. Qt or wxWidgets gives you a GUI toolkit that's easy to use and both are portable.
I agree with the question though. Visual Studio is a pig. Its debugger is pretty nice, but the rest is a pig to work with (particularly coming from a OSS background where the tools don't generally try to lock you in).
You could also look at nmake and calling the VC++ compiler tools directly from the command line.
We use VC++ as a compiler / linker but use Jam to drive the builds. The actual Visual Studio is only used as a debugger. The benefit is that once we set up Jam to build a project in Windows, it takes minimal effort (frequently none) to get it working for Unix.
The Zeus IDE works just fine as a MSVC alternative. It can even import MSVC project and solution files.
A bit late to the party, but I'd like to add that in 2018 there finally begins to show up a viable alternative that is good enough to promise emancipation from the monopoly of VS on Windows C++ development:
Sublime Text as editor, with the following plugins:
EasyClangComplete, a decent (like, just working) replacement for Intellisense;
[optionally] Clang Format, for much more flexible source formatting experience than MS would ever come up with;
Clang-cl as a wrapper around Clang compiler aimed for maximum MSVC compatibility.
Unfortunately, Microsoft Build Tools are still needed for standard library headers, but the download size is nothing compared to the whole VS behemoth. The upside is that Clang-cl picks them up automagically and Build Tools somehow don't mandate that you let their executables go online to sign in and activate your free license yet!
Setting this all up to a working configuration is a bit more complicated than slapping together a VS project/solution, but it's totally worth it. As a bonus, setting things up manually might give you a better understanding of what goes on under the hood of an IDE.
One thing to miss might be the superb VS debugger... Well, if you're ready to break habits, the open source x64dbg might come to the rescue, ability to view and step through source code via .pdb files included (and yes, Clang can generate them now!).
Update: As of 2019, a much better and future-proof alternative to EasyClangComplete is using Clangd via LSP plugin.
Absolutely, but it's just a lot easier to use Microsoft's IDE to develop for a Microsoft operating system. When in Rome...
Eclipse is a good alternative.
The Code::Blocks IDE comes with the MinGW C++ compiler and support for wxWidgits. The IDE is pretty minimalist which may or may not be what you are looking for - I really like it.
Dev-C++ I have found very useful, and free :)
Very possible, Qt is your friend. Qt Creator is in RC stage too so something to look forward to. Until then you can use it with something like Code::Blocks. Code::Blocks itself is a great environment alone, and also has a lot of support for wxWidgets. If you're just looking for an IDE change, as previously mentioned, Code::Blocks can use compilers from other IDE's as well.
-John
SlickEdit (or a number of other editors that support ctags or something similar) makes for a pretty decent 'IDE'.
You can use these editors with makefiles (or other build tools) to drive pretty much whatever compiler you want (MVCS, mingw, Comeau, Digital Mars, whatever).
A couple employers ago, that's exactly what we did. We used MS compilers driven by makefiles and the main editor used was SlickEdit. We used the Debugging Tools for Windows package for debugging (a lot of what we did was kernel-mode). Worked out pretty well.
Wascana Desktop Developer is a distribution of Eclipse CDT configured specifically for developing on Windows.
I would recommend giving Notepad++, MSBuild, and the Windows SDK a look over. You could also use XBuild, but that is more MONO specific. Mind you, MSBuild, and XBuild are just automation tools, so you'd be spending more time with Windows SDK.
I'm sure to receive a lot of flak for this, but I find C++Builder to be a much easier IDE/compiler to develop Windows C++ apps with than MSVC. It may not be the cheapest solution, or have all the same bells+whistles, or be the most language-compliant (its 32bit compiler does not support C++11 yet, but its 64bit compiler does), but you can't really beat its visual UI designer and 3rd party component market.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
What is the best C++ IDE or editor for using on Windows? I use Notepad++, but am missing IntelliSense from Visual Studio.
Um, that's because Visual Studio is the best IDE. Come back to the darkside.
I've found the latest release of NetBeans, which includes C/C++ support, to be excellent.
http://www.netbeans.org/features/cpp/index.html
I personally like Visual Studio combined with a third party add-in such as Visual Assist (http://www.wholetomato.com/). I've tried a few of the others and always ended up back with Visual Studio. Plus, Visual Studio is a widely used product in development industries, so having experience using it can only be a plus.
The Eclipse CDT works well for me. It supports MinGW and Cygwin as targets. It also integrates well with CVS and Subversion.
The latest build, Ganymede, is available here.
There are the free "Express" versions of Visual Studio. Given that you like Visual Studio and that the "Express" editions are free, there is no reason to use any other editor.
I vote for Visual Studio, but it seems that C++ is treated like second class citizen (not the compiler and stuff but IDE support) compared to .NET languages like C#, but hopefully MS will do something about it by the next version of Visual Studio (new standard is coming and they promised that 10 should be new 6).
VIsual studio is by far the best IDE but you can also take a look at Code::Blocks
I prefer to use Microsoft Visual C++ express on windows. Though the 2008 ide is fine, the 2005 express has better support for many of the open projects which you might want to participate in. It's a pain to compile Firefox or a half life 2 mod on 2008. Also as a general tip when looking for software, I like to search wikipedia for "comparison of " In this case you would search comparison of Integrated Development Environments.
Hope that was helpful.
If you are interested in doing Qt development, then Qt Creator works fine and is free.
I think the debugger in Visual Studio (Express) is the killer thing that prevents me from using another IDE.
Visual Studio + Visual Assist X (http://www.wholetomato.com/)
There are some features in an IDE that are so transformative that you don't know how you lived without them. Integrated help was one. IntelliSense-like functionality was another. VS 6.0's Debug and Continue was absolutely killer. Visual Studio kicked butt for quite a while. Not bad, given the awful NeXTstep rip-off it all started as. (Or is it that memories of NeXTstep has faded until VS seems okay?)
Sure, there are much better EDITORS that VS, but as a complete package for Win32 development nothing seems to come close.
There are free Express editions now, but they seem pretty crippled.
I am quite enjoying Eclipse under Linux (and derivatives of it on Windows used in some FPGA vendor toolchains). I -really- don't like the lack of integrated MSDN-style help, though.
I think it's basically down to those two choices.
Emacs. Xemacs works fine under Windows. For using it as an IDE, I recommend running it under Cygwin.
The Zeus editor has support for C/C++ and it also has a form of intellisensing.
It does its intellisensing using the tags information produced by ctags:
alt text http://www.zeusedit.com/images/_lookmain.jpg
Visual studio is the most up to date and probably "best" free ide. Dev C++ is a little dated, and mingw doesn't compile most of boost, (except regex). Most of the other compilers are dated and fading, like mars and borland. But you can use whatever you like!
One that hasn't been mentioned is CodeLite, a powerful open-source, cross platform IDE. It has code completion amongst other features.
I will quote myself from this question:
https://stackoverflow.com/questions/780837/what-is-a-good-linux-ide-for-code-completion/917854#917854
Someone already said this before me,
but QtCreator is really good for Qt4
development.
Not only it has a really good code
completion support. It also knows a
little more about the code and what to
complete then I thought I needed. For
example it knows about slots/signals.
This means that connecting
slots/signals via code is much easier
then before.
The code editing is really nice. I
remember that when refactoring code,
(a few variables starting with
underscore) it remembered the cursor
position between lines and this made
the refactoring much easier. The code
indentation is smart enough to not get
in my way (KDevelop was configurable,
but QtCreator learns how I code. At
least it feels like it does).
Then there are the cool key
combinations. Most of the
functionality of the IDE can be
accessed using shortcuts. The
"control+k" thingie is a nice thing,
which some command line users would
like, but I am more GUI oriented. I
don't use it.
What I really like, is the split
window command. Yes, KDevelop3 does
it, but not as nice as QtCreator. My
favorite is control+e,3 which I use to
display the header and implementations
of my classes. Once again, the
navigation here is the best I have
seen (control+e,o).
It also has a nice SCM integration. I
usually use SVN, and quite frankly
it's not as good as I need: no
shortcut to diff the project, no diff
to commit the whole project, no option
to commit several files.
I also don't like the "total
integration of external tools". I
still like the external QtAssistant -
control+tab is easier to read large
articles. But.... when you define a
QString s, and 3 lines bellow you want
to read the interface of QString, you
put your cursor on "s" and press F1 -
the assistant comes as a sidebar with
QString's documentation. A huge
advantage.
Want to follow a definition? F2 to the
help. F4? Changes
header/implementation (yes, eclipse
does this better...).
The debugger is good. It's not as good
as VisualStudio but ... it has support
for Qt4 internals (you can see the
value of QString and QList!).
I can continue... but IMHO you will
need to give it a second and third
try. It really is a good product. Not
as flexible as Eclipse (hi
ryansstack), but it's a really small,
fast and young project. I stopped
developing QDevelop because I really
found what I was looking for.
ps: yes, I mean stopped developing
QDevelop. I was in the development
team.
My response is for Qt4 development only. Be warned.
SlickEdit is very cool, and does support something like intellisense. At my current company I now use Visual Studio, and I've mostly gotten used to it - but there are still some SlickEdit features I miss.
As a complete all-in one package, Visual Studio 2008 is the best IDE for C++ development with Windows
Visual studio is great, but there are few tricks you can enhance it with. SonicFileFinder is one - helps you to search source files by partial match. You can map solution-tree to Alt+1, partial filename search to alt+2, and properties-window to alt+3. These are the three most used windows.
Another great tool that is ofter misunderstood is ctrl+shift+F shortcut for searching file contents. People dont use because it's so slow, but my advice is - deal with it. Searching the whole solution (or even all files in project folder) is only slow the first time you use it. Consequitive searches are as fast as jump-to-definition-feature.
I've tried SlickEdit, Notepad++, emacs, jEdit and Visual Studio. VS wins hands-down for Best Windows IDE.
jEdit is probably the best GUI cross-platform editor/almost-IDE, and emacs is probably the best terminal cross-platform editor/almost-IDE. The advantage with using these is that when you jump to a Mac or Linux box, you know how they work.
I tried Eclipse, but it ran like a no-legged dog it was so slow, so I didn't use it much. Maybe tech is better now, but eh.
With Intellisense, code folding, edit and continue, and a whole host of other features, Visual Studio is certainly the best IDE. However, for simple code editing, I often use UltraEdit. It has some great features not found in Visual Studio. One surprisingly useful feature is being able to select a column in the editor. You can find and replace within the column (useful for tabs vs. spaces wars...) delete the column, etc...
How about CodeBlocks, i find it so fine with me, especially the new 10.05 version.
I would recommend C++Builder, from Embarcadero, for C++ work and there is also a free version available. If you prefer Visual Studio, download one of free express editions.
Here's another vote for Visual Studio. The debugger and Intellisense are definitely it's hallmarks. While other IDE's offer code-completion, I've often found them to be somewhat sluggish in this area for some reason (sluggish being a reference to the speed at which code-completion occurs and offers selections).
Other than VS, NetBeans is a good polished IDE and is updated on a very regular cycle.
I think it's largely a matter of taste, but I would recommend begginers to stick to a pure editor (vi, emacs...) instead of a full fledged IDE so they can figure out the whole toolchain that modern IDEs hide.
Just for the record, my weapon of choice is Emacs.
personally i dont like microsoft......I hate to admit that visual studio is the best IDE i ever use.....Netbeans is gud but drasticaly slow....other free IDEs are useless..
so people try to stick with VS....
M$ VS2008 is a better IDE for this.
The question says specifically IDE so I am guessing thats what you want. In that case, the main options are Visual Studio and Eclipse CDT as stated above. Of those, I personally prefer Eclipse. However, don't necessarily limit yourself to an IDE. I prefer to use vim as my editor and WinDbg as my debugger. For compilation, your project will probably dictate this. I currently use NMAke on the command line.
Use Visual Studio 2010. You can get the full version free with DreamSpark