Help me choose an IDE for C++

Started by
19 comments, last by Artes 12 years, 10 months ago

Bear in mind though that VS Express (the free one) doesn't support plugins so if you are that hung-up on Visual Assist, you are out of luck.

That said (and also without yet trying Qt Creator) I don't think there is an IDE that comes even close for Windows even without VA, and I would also point out that Intellisense has got unbelievably better in VS 2010. For me personally, it is as effective as it has always been for C# in VS now.


Yeah, I'm starting to think that this was a futile attempt. All I have at the moment is a laptop and I don't like dual-booting so Linux was sort of a backseat idea...I just like the idea of cross-platform development (plus I AM looking for a reason to go to linux full-time, VS is one of the few things besides games that holds me back). While I did say I was too poor to afford the student license of VA. the student part still provides the advantage of free licenses to VS 2010 Ultimate, so plugins are not a problem and I am certainly aware of how good the intelisense has gotten! It's hard to find a decent answer through google, so I was just hoping maybe someone would have something I'm not aware of that would help cope with the loss.

It's just....well for those of you who've experienced Visual Assist I need not say this but, it's really hard to go back!

Edit: What about CodeLite? Anyone have an experience with that? A lot of these seem like just vanilla IDEs that offer next to nothing in terms of incentive to switch from other vanilla IDEs, it's no wonder I haven't heard of most of them.
Advertisement
What do you want to develop? Does it have to be cross platform? Are you sure that C++ is the best tool?

These are all questions I'd be asking before looking at a C++ IDE.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

What do you want to develop? Does it have to be cross platform? Are you sure that C++ is the best tool?

These are all questions I'd be asking before looking at a C++ IDE.


I'm have roughly 7 years of experience in C++, use managed languages all day every day at work and have no desire to work with C#. My hobby activities have been mostly centered around computer graphics and I'm just now getting comfortable with some of the more advanced aspects of OpenGL. C++ is just my favorite language and this is purely for my own enjoyment. I also love Linux and feel there aren't enough cool things made on/for it and would love to contribute sometime in the future. I've got no real reason to go cross platform other than the idea of developing on linux intrigues me more than run-of-the-mill Windows.

Thanks for the input tho! If this were a time/success-critical endeavor I'd certainly be taking your questions into consideration more wink.gif
I'd also go for VS when it comes to C++ - Eclipse is a great Java IDE with tons of indispensable features and plugins, but I never quite liked the interface and the feel of the thing enough to use it for C++ projects.




A quick look at NetBeans after installing it seems to indicate that I'll need to install Cygwin or something similar to get a compiler working on Windows, which is something I'd prefer not to do...


As a side note, Cygwin can be an incredibly convenient tool to have - I also swear by Puttycyg if you're on a Windows box interacting with *nix machines

[quote name='ChaosEngine' timestamp='1308779580' post='4826604']
What do you want to develop? Does it have to be cross platform? Are you sure that C++ is the best tool?

These are all questions I'd be asking before looking at a C++ IDE.


I'm have roughly 7 years of experience in C++, use managed languages all day every day at work and have no desire to work with C#. My hobby activities have been mostly centered around computer graphics and I'm just now getting comfortable with some of the more advanced aspects of OpenGL. C++ is just my favorite language and this is purely for my own enjoyment. I also love Linux and feel there aren't enough cool things made on/for it and would love to contribute sometime in the future. I've got no real reason to go cross platform other than the idea of developing on linux intrigues me more than run-of-the-mill Windows.

Thanks for the input tho! If this were a time/success-critical endeavor I'd certainly be taking your questions into consideration more wink.gif
[/quote]

Those are totally legit answers. The reason I posted that is that we see a lot of people here who just assume that C++ is the only viable tool for whatever it is they're doing.

As to your question, I don't think you'll find any better C++ dev environment on any platform than visual studio. VAX is actually pretty reasonably priced for hobbyist devs ($99), but as pointed out earlier it won't work with the express edition of VS. From the project you've described, it sounds like you wouldn't benefit much from the priced editions of VS (the features are mostly geared towards LOB apps).

Ultimately, it'll come down to how much x-platform work you want to do. There'll be a trade off between using the best tool on one platform (VC++) or the ease of using the same tool across multiple platforms.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight

Ultimately, it'll come down to how much x-platform work you want to do. There'll be a trade off between using the best tool on one platform (VC++) or the ease of using the same tool across multiple platforms.


That's a good point. I came here looking (hoping) for a miracle-app that I somehow hadn't heard of in all this time. I'm not at all surprised with the results. Thanks for everyone's input, I guess I'll just cope without VA for a while until I'm truly motivated enough to migrate to linux and find something else.


I guess I'll just cope without VA for a while until I'm truly motivated enough to migrate to linux and find something else.


If you can't cope without Visual Assist in Visual Studio 2010, then you really won't be happy with anything offered on Linux. Going from C++ development in VS/VA to just about anything else (except maybe Eclipse, which is "useable" at best) is like going from Word Processing to Hammer, Chisel, and Stone Tablet ... ;)
Microsoft has, with Visual Studio, the best compiler and development suite for C++ - hands down. With Visual Assist it's simply put unbeatable. There are of course alternatives, but really, if you like the VA + VS combo as much as you seem to then there is no other thing that will quite be the same ... and it's a good thing :-)
"I will personally burn everything I've made to the fucking ground if I think I can catch them in the flames."
~ Gabe
"I don't mean to rush you but you are keeping two civilizations waiting!"
~ Cavil, BSG.
"If it's really important to you that other people follow your True Brace Style, it just indicates you're inexperienced. Go find something productive to do."
[size=2]~ Bregma

"Well, you're not alone.


There's a club for people like that. It's called Everybody and we meet at the bar[size=2].

"

[size=2]~

[size=1]Antheus
If you are looking to get into Linux development you're going to have to abandon Visual Studio to some degree. I've been developing in Linux almost exclusively since 2000 and my editor of choice is KDevelop. Someone else already mentioned KDevelop4 and I have to agree, it is pretty awesome. I don't even need to setup a project file and it just magically knows everything about the source I'm working in. Its really come a long way since I first started using it 10 years ago. I've only played around in VS a little bit and was kind of overwhelmed by the interface and never really got into learning too much about it. When I have to do cross-platform development on Windows, I've used Eclipse. But honestly, I hate that editor. I just haven't been motivated to research and learn about other tools since I only develop in Windows when I am forced to (usually by my current contract). For our cross-platform RPG, our Windows developers seem to use Code::Blocks, but I've never taken a look at the IDE myself so I wouldn't know.


Honestly though, if your goal is to get into Linux development you're going to have to abandon Windows in some form eventually. I mean, you actually have to be in Linux to execute and test your applications. Why don't you try working in a virtual environment for Linux development? That way you don't have to dual-boot and can actually get some genuine Linux experience. I'd recommend Virtual Box + Ubuntu + KDevelop4 personally, but you can use whatever VE/Linux distribution/editor you want.

Hero of Allacrost - A free, open-source 2D RPG in development.
Latest release June, 2015 - GameDev annoucement


Honestly though, if your goal is to get into Linux development you're going to have to abandon Windows in some form eventually. I mean, you actually have to be in Linux to execute and test your applications. Why don't you try working in a virtual environment for Linux development? That way you don't have to dual-boot and can actually get some genuine Linux experience. I'd recommend Virtual Box + Ubuntu + KDevelop4 personally, but you can use whatever VE/Linux distribution/editor you want.



Yeah, I thought about the VM route before. Despite having an excessively powerful laptop I've never been able to tweak settings in VMs just right so that it isn't laggy during use. It's not unbearably laggy, but just annoying and that's only with simple stuff like browsing the web and generally checking out a linux distro as I typically do. Seeing as my main interests at the moment revolve around OpenGL and computer graphics theory (ray tracers, ray-marching, etc.) I imagine that would get pretty bad in a VM...

Ditching VS/VA was a necessary evil in my mind if I decided to go with linux development in the future. In addition to the reasons I've posted so far, there was a good deal of "well, seeing as my VA trial ran out again and I can't use it anymore, I might as well just make the switch full-force" going on in my head. Linux dev. still interests me greatly, but your comments have been helpful in making me realize I should probably stick to what I know very well until it's truly necessary. Coincidentally I recently tried to get my current project building in Code::Blocks on windows using gcc and ran into a ton of trouble that ultimately made me give up in the short term. It seems that Microsoft's compiler infers a lot more about your code than other compilers (ex.: in VC++ a function/class can be referenced by something even when it's not declared until farther down the file). I'd like to write code that compiled more or less across-the-board, which I'm guessing means GCC rather than MS.

This topic is closed to new replies.

Advertisement