Visual Studio the way to go??

Started by
22 comments, last by benryves 14 years, 5 months ago
I've been trying to learn on and off C++ for a few years (just in holidays, etc.) So I'll just say I'm an absolute beginner to make things simple :) Anyway my old computer decided to crack it and not work anymore (which had my copy of Visual Studio from my friend on it) and I was wondering for my new computer should I try getting my hands on another copy of visual studio or is there an equally good open source/free/downloadable program just for learning C++??
Advertisement
Visual Studio *is* free, and is unmatched as a quality dev environment

http://www.microsoft.com/Express/VC/
hmmm even the .NET version? I thought I was getting a good deal a few years ago...
Opps sorry guys, should have researched it myself better
Quote:Original post by Twulz
Anyway my old computer decided to crack it and not work anymore (which had my copy of Visual Studio from my friend on it) and I was wondering for my new computer should I try getting my hands on another copy of visual studio or is there an equally good open source/free/downloadable program just for learning C++??

Visual Studio probably has the market cornered on Integrated Development Environments* for Win32 C++ and C++/CLI (more on this one below) work, but the 2005 Express Edition of Visual C++ struck me as grossly ill-equipped for Win32 C++ work, surprisingly, last time I used it. I don't know what their current (2008) Express Edition is like, but you might want to look into Microsoft's DreamSpark scheme and see if you're eligible for a free copy of the full Visual Studio 2008.

Of course there are other options - Code::Blocks and Dev-C++ are the ones I remember. Also, the Java IDEs, Netbeans and Eclipse, have both been talking up their C and C++ support - they might be your best shot if for some reason you want to steer clear of Microsoft but still want a high-end IDE, and they'll be there if you want take up Java (or any of the other languages they support) as well.


Anyway, you might even get away with not using an IDE at all - all you really need is a compiler and notepad (or rather, Notepad++ - you really, really should get this program, it is an absolutely brilliant text editor for practically anything programming-related) to write and build programs.
Bjarne Stroustrup (get used to this fellow, he's the one who dreamt up C++) provides a list of compilers on his website, as well as advice on choosing one, but don't expect him to tell you which one's better.

For the record, I started with the Digital Mars C++ compiler, and notepad. I've never bought the IDE, so I can't comment on it, but I really can't complain about the compiler. You'll probably have to do some reading to figure out how to set it up, but I've distilled that information for someone before, and if you want I can dig up that information for you here as well.

Quote:Original post by Twulz
hmmm even the .NET version? I thought I was getting a good deal a few years ago...
Opps sorry guys, should have researched it myself better

The .NET dialect of C++ is known as C++/CLI**, and I say "dialect" because it is not C++. Stroustrup commented on the topic here, if you're interested.

You probably don't want to start with C++/CLI - I can't imagine a beginner doing very well with it. The vast, vast vast majority of C++ programming is native and unmanaged***, including anything you're likely to be wanting to do with the language.

As a rule, I tend to direct beginners who show an eagerness for C++ to Steve Heller's C++: A Dialog, as it introduces both the language and the computer science behind it, it uses the C++ Standard Library, and it attempts to take a very newbie-friendly approach - as a beginner, you want all of these things.

Anyway, hope this helps. :)


*An Integrated Development Environment, or IDE, is the interface that displays your source code, current project, etc, and provides all those lovely tools, code highlighting etc that help you write programs. The thing that actually builds your program is called a Compiler, and whereas your IDE will simplify things by calling the Compiler up for you when you build/run your code, you don't need the IDE, or, generally, any form of graphical interface, to operate a Compiler - it can all be done from command prompt.

**There was formerly an implementation known as Managed C++, but we do not speak of this outside of small font-sized footnotes and hushed, shady whispers.

...jk. [lol] It is deprecated, though, so don't worry about it.

***As in, the code compiles into binary which can be directly understood and executed by a CPU - as opposed to anything .NET-based, like C++/CLI, C#, VB.NET etc, where you write managed code for a virtual machine rather than for any specific chunk of silicon.
Wow that was a comprehensive reply! thankyou, I'll look into all of these ideas :)
Quote:Original post by Twulz
hmmm even the .NET version? I thought I was getting a good deal a few years ago...
Opps sorry guys, should have researched it myself better


It depends on what you mean by "a few years ago." They didn't release any express versions up until, I think, 2005.
While I haven't used Notepad++, I doubt it can match the feature set of a full IDE (like refactoring, call/type hierarchies, context-based code completion, integrated api help, integrated debugging/profiling tools, build support, collaboration support, etc). It's still a great way to learn how the compile/link process really works, but for anything of moderate complexity, you'll save yourself a lot of time with an IDE. Since MIcrosoft now offers theirs for free, there's no real reason not to use it (and if you don't like it, you could try Eclipse with C++ plugins - it's a great IDE, though I have no experience with C++ in Eclipse.)
I think I had the 2005 version so it must have been just before they went free...

Since it IS free I've downloaded and installed it from the link provided above and I think I will be using it the most but I'm interested to see how i'd go using the notepad++... I'll have a play later in the week :)
Quote:Original post by lightbringer
While I haven't used Notepad++, I doubt it can match the feature set of a full IDE (like refactoring, call/type hierarchies, context-based code completion, integrated api help, integrated debugging/profiling tools, build support, collaboration support, etc).

Well it can't, and it doesn't really try to.

It's not meant as a full-featured IDE - it is orders of magnitude more lightweight, and will still be useful as a basic dumping pad for sifting through various clumps of code even when you do have an IDE for the language of choice for your serious projects.
There are some things you (or at least, I) seriously don't want to slop directly into the IDE, like bug-riddled orphan code off of forums, code in another language that you intend on converting, pseudocode, etc, that'd probably set your IDE ablaze with syntax warnings et al. On the other hand, you can sift through it in Notepad++ without worrying about a whinging Pom of a high-end IDE, and still get all your basic perks like syntax highlighting, line numbering, better find/replace mechanisms, and all sorts of other stuff.

I don't know how you carry on without something like Notepad++. Seriously, if you're running Windows, get it now.
Hehe. Well I am quite happy with Eclipse (and I am on Ubuntu - never boot Windows except for playing games, which means very rarely). But for those scenarios you mention, you are right - one would want something lightweight just to look at random code in random languages. Fortunately, gedit (Ubuntu + Gnome's default editor) has excellent syntax highlighting for a large variety of languages, which is all I ever need in those scenarios. I use it extensively to edit XML game files.

This topic is closed to new replies.

Advertisement