• Fur Affinity Forums are governed by Fur Affinity's Rules and Policies. Links and additional information can be accessed in the Site Information Forum.

I need a C++ compiler.

Ziff

Now with 25% less yiff!
Now, I honestly don't know what that is, but I'm reading a book on C++ and to do the first thing I need one. can someone give a link to a site where I could download one? It would be greatly appreciated.

I might not respond immediately because I'm going to be playing LoL :p

P.S. just an FYI, I have looked for one, but the ones I dl'd didn't work, and one I found cost money.
 

ArielMT

'Net Help Desk
GNU Compiler Collection (GCC) if you want an always-free, cross-platform C++ compiler.

Visual Studio Express [Description] if you want to stay with Microsoft.
 

net-cat

Infernal Kitty
Realistically speaking, if you don't even know what a compiler is, you'd be best off with starting with the Visual Studio tools, as linked by ArielMT.

But if you're trying to learn to program, I'd suggest starting with something a little less convoluted than C++. Python, perhaps.
 

Ziff

Now with 25% less yiff!
Realistically speaking, if you don't even know what a compiler is, you'd be best off with starting with the Visual Studio tools, as linked by ArielMT.

But if you're trying to learn to program, I'd suggest starting with something a little less convoluted than C++. Python, perhaps.

So, you're recommending me to learn a computer language to help me learn another computer language... maybe. How can python ease me into C++?
 

Irreverent

Member
So, you're recommending me to learn a computer language to help me learn another computer language... maybe. How can python ease me into C++?

First you learn computer algorithms in pseudo-code, then you learn a specific language's syntax to implement those algorithms. That said python is a clean, unconvoluted high level language that is easy to pick up from a syntax perspective.

Mind you, an old fart like me would have recommenced you start with Pascal.
 

Kenneth

Because **** you
Try Bloodshed's Dev-C++.
Free, quick, lotsa support.
 

Keitaro_Taru

New Member
I currently use Microsoft Visual Studio 2008 to compile my code, and would highly recommend that to anyone. It is a bit more advanced but gives you many more options other programs don't. But, if you cannot afford it, which luckily the school i go to gave me a copy for free, you might try microsoft visual c++ express 2008, i don't know if they support this still or not but it used to be a free download.

As far as learning C++, i would recommend going after an easier language to start. I've spent the past 2 years learning how to develop programs using C++ and can tell you from first-hand experience that it can be an extremely confusing language to learn. I had done a good bit of work in html and touched on java, but even having just that basic knowledge in those two languages helped me out a ton when it came to learning C++.
 

net-cat

Infernal Kitty
So, you're recommending me to learn a computer language to help me learn another computer language... maybe. How can python ease me into C++?
Yes. I am. When learning to swim, you don't go straight for the high dive.

Python will teach you the basic constructs of programming in a simple, concise manner without having to worry about a "compiler" or anything like that. Just write the code and run it directly. (After you install the language, which is as simple as installing any other program.)

First you learn computer algorithms in pseudo-code, then you learn a specific language's syntax to implement those algorithms. That said python is a clean, unconvoluted high level language that is easy to pick up from a syntax perspective.
Pretty much this...
 
Last edited:

Nollix

Member
What net-cat said. Also, GCC is good, but the documentation is lacking.
Since you're probably gonna come back and ask what IDE to use, I prefer Eclipse, though it's a little annoying to set up at first.
 
Last edited:

Ziff

Now with 25% less yiff!
alright.... thanks so much for everyone's help. One last request though: can you give me links? how to learn python, any applications I might need, and whatever Eclipse is from Nollix's post.
 

Carenath

Cynical Dragon
Python, though I'm not at all sure what it's support is like on Windows, it's really easy to develop on a Linux box though and don't need to fuss with a compiler to run it. Google is your friend here.
Java, to develop on any platform is trivial and everything you need is all free. It's a great starter language, really simple to pick up, and it's a bit like a light version of C++.

A book for C++ that I highly recommend, once you've mastered one of the above, is Accelerated C++ by Koenig and Moo.

Compilers:
If you're on Windows (which I presume you are), the two easiest options are: Visual Studio Express, which you can download for free from the MSDN website, and, Bloodshed's DevC++ which is also free (it uses GCC behind the scenes). Both will compile C/C++ just fine for Windows.

As net-cat and others suggested, start with something like Python or Java (or possibly Perl), and move on from there.
 

net-cat

Infernal Kitty
Python (through python.org) and Perl (through ActiveState) are extremely well supported on Windows. Just a matter of downloading and installing it and it works (mostly) the same as it does on Linux.

Java has the same issue as C/C++, really. It's generally simpler than C++, but it still has that "compiler" step.

Perl can be run the same way as Python, but it's not really a "beginner" language. Lots of neat tricks you can learn instead of the right way.
 
Last edited:

benanderson

Banned
Banned
Beginner language?

two words

BBC BASIC

Yes its from 1982 and you will need a BBC Microcomputer emulator to use it, but myself and my lectures all agree that its the perfect language to start with (One lecturer is even thinking of using it to teach the first years instead of C++). Its easy to use and easy to understand since its all in natural english; but its powerful (I'm writing a music tracker/composer in it called "BeebTrack" ), its very well structured (multi-dimensional arrays, Procedures, Functions, Flat-File database management, Do...While, Repeat...Until, IF...Then...Else/Else IF and so on) and forces you to write optimised code so it uses as little RAM as possible and executes as fast as possible.

Here is the BeebEm Emulator (be sure to set the keyboard to logical )
Here is the User Guide

I know all of you will be raising your eyebrows at me right now, but I am being deadly serious - this language is nothing short of fantastic!

Here's a screen-shot of a quick and dirty number guessing game I made for giggles one day to give you an idea. Gotta love 80s computer interfaces :p
[noparse]http://benanderson.homeip.net/picup/uploads/phpqJwWFV.png[/noparse] - Link not working edited by Arshes Nei
 

Patrick

Banned
Banned
people take Standard conformance very seriously when considering a compiler. If you can, avoid any compiler that doesn't closely approximate the ISO standard or fails to supply a solid implementation of the standard library. The recent releases from all the major C++ vendors do that. If you are a novice and don't know how to see if a compiler is conformant, try this:
#include<iostream>
#include<string>

using namespace std;

int main()
{
string s;
cout << "Please enter your first name followed by a newline\n";
cin >> s;
cout << "Hello, " << s << '\n';
return 0; // this return statement isn't necessary
}
If an implementation cannot handle this simple program as written, it is not a good candidate for learning Standard C++ (if you cut and paste, beware of html for "less than" in the #include directives). Though now outdated in all details, here is a long article considering conformance and boost.org's compiler status page. Conformance is just one aspect of a compiler's quality (quality of generated code, error messages, compile speed, integration with tools, degree of support, and backward compatibility are examples of other important aspects), but conformance is an important one. Use of a supplier's language extensions and non-standard-conforming features limits the portability of your code and can prevent you from choosing a new implementation supplier.
Most of these compilers are embedded in frameworks of software development tools and libraries. These frameworks, environments, and libraries can be most helpful, but do remember that their use can lock you into a single vendor and that some uses have significant run-time performance implications.
When looking for C++ on the web, you find that much of the information is "hidden" under various product names. In fact, I had more luck finding C++ compilers using google.com than by going directly to vendors that I knew sold them. Here, I have chosen to list C++ implementations simply by the name of their provider, ignoring marketing labels.
Some compilers that can be downloaded for free (do check their conditions/licenses before attempting commercial use):

 

Panel

WHARGARBL!!
I strongly recommend Java or Smalltalk for a starting language. Many colleges use these languages to teach the basics.

Smalltalk is good for learning object oriented concepts. Unfortunately it is more or less just an educational exercise since I can't think of anyone who would use it to write any real application. So if you use this as a starter language, be aware that it serves no other purpose than helping you learn object oriented programming principles.

Java is probably your best choice if you want to learn a language that is easy to learn and enjoys widespread use. It has similar syntax as C++ and takes away most of the knives and guns C++ has.
 

Arcum

Member
I have to agree with everyone here that stated to start off in Java first. Java I find to be easier later on. Your primary focus should really be to learn of the difference in variables, "public, private" rules, basic formation of functions, and basic manipulation of code. I would really suggest getting a book on programming if your new to the whole deal. From what I saw in benadnerson's post that particular language seems extremely simple to learn as well so I would suggest looking into it as well.
 
Last edited:
Top