1. What is a compiler?
2. Where do I get a free compiler?
3. Which compiler is the best?
4. How do I start with C++?
5. What is the difference between VC++ and C++?
6. Is there an IDE for Linux or other OS different from Microsoft Windows?
Q: What is a compiler?
A: A computer cannot understand the spoken or written language that we humans use in our day to day conversations, and likewise, we cannot understand the binary language that the computer uses to do it’s tasks. It is therefore necessary for us to write instructions in some specially defined language, in this case C++, which we can understand, then have that very precise language converted into the very terse language that the computer can understand. This is the job of the compiler.
A C++ compiler is itself a computer program which’s only job is to convert the C++ program from our form to a form the computer can read and execute. The computer prefers a string of 1’s and 0’s that mean very little to us, but can be very quickly and accurately understood by the computer. The original C++ program is called the “source code”, and the resulting compiled code produced by the compiler is usually called an “object file”.
One or more object files are combined with predefined libraries by a linker, sometimes called a binder, to produce the final complete file that can be executed by the computer. A library is a collection of pre-compiled “object code” that provides operations that are done repeatedly by many computer programs.
Any good compiler that you purchase will provide not only a compiler, but an editor, a debugger, a library, and a linker. Online documentation and help files are usually included, and many compilers have a tutorial to walk you through the steps of compiling, linking and executing your first program.
Also, notice that it’s a kind of difficult to install DGJPP, so if you are a beginner, you’d better pick Dev-C++.
Q: Which compiler is the best?
A: Many starters ask that. Unfortunately, an answer cannot be given! There is no best compiler. Almost every compiler has its advantages and disadvantages. Anyway, a poll we made shows that:
60% of the people use Visual C++
25% use Borland C++
8% use GCC
6% use Dev-C++
1% use other compilers (such as DGJPP)
Of course, this is valid only for the visitors of our site, not for all programmers. For sure, Visual C++ is not the best compiler, but it is user friendly. Even though, it is not fully ANSI/ISO compatible.
Borland’s C++ Builder is very good pick, too.
Anyway, the best thing you can do is- start with some free compiler. Become merely good in programming with it, and after that look for another compiler!
Q: How do I start with C++?
A: An excellent tutorial is Bruce Eckel’s “Thinking in C++”.
During your education, you will probably have some questions. Feel free to ask in our forums.
After you have completed your basic C++ course, you’d better do some coding, to practice your skills. You might want to participate in our contests.
Also, you might also want to check your knowledge, filling up our free quizzes.
After that, you will probably want to specialize in some additional area like OpenGL, Win32, MFC, DirectX, WinSock? or else…. Of course, cpp-home.com offers wide range of quality tutorials for everyone. Just browse our tutorials by categories for filtered results.
Q: What is the difference between VC++ and C++?
A: This is very common question, asked from beginners.
The thing is that C++ is the language, and VC++ is just the environment that you can program in C++. It is like writing English text in Notepad- the language is English, but you write it in Notepad. But you can also write it in Word, WordPad? and so on… so, VC++ is the program(IDE to be more certain), and C++ is the language.
I hope you got it!
Q: Is there an IDE for Linux or other OS different from Microsoft Windows?
A: The KDevelop-Project was raised in 1998 to build up an easy to use C/C++ IDE (Integrated Development Enviroment) for Unix. Since then, the KDevelop IDE is publicly available under the GPL and supports KDE/Qt, GNOME, plain C and C++ projects. Please contact us for sponsoring or help offers.
Visit KDevelop’s website at: http://www.kdevelop.org