C++ is a general purpose programming language invented in the early 1980s by Bjarne Stroustrup at Bell Labs. It is similar to C, invented in the early 1970s by Dennis Ritchie, but is a safer language than C and includes modern programming techniques such as object oriented programming.
You can read more about object oriented programming. In fact C++ was originally called C with Classes and is so compatible with C that it will probably compile more than 99% of C programs without changing a line ofsource code. This was a deliberate design feature by the designer. Here is a short overview and history of C++.
The purpose of C++ is to precisely define a series of operations that a computer can perform to accomplish a task. Most of these operations involve manipulating numbers and text, but anything that the computer can physically do can be programmed in C++. Computers have no intelligence- they have to be told exactly what to do and this is defined by the programming language you use.
What can a C++ program do?
Typical programming tasks includes putting data into a database or pulling it out, displaying high speed graphics in a game or video, controlling electronic devices attached to the PC or even playing music and/or sound effects. You can even write software to generate music or help you compose.
Is C++ the best programming language?
Some computer languages were written for a specific purpose. Java was originally devised to control toasters, C for programming Operating Systems, Pascal to teach good programming techniques but C++ is a general purpose language and well deserves the "Swiss Pocket Knife of Languages" nickname. There are some tasks that can be done in C++ but not very easily, for example designing GUI screens for applications. Other languages like Visual Basic, Delphi and more recently C# have GUI design elements built in to them and so are better suited for this type of task. Also some scripting languages that provide extra programmability to applicationslike MS Word and even Photoshop tend to be done in variants of Basic, not C++.
You can find out more about the other computer languages and how they stack up against C++.
Which computers have C++?
This is better stated as which computers don't have C++! The answer- almost none, it is so widespread. It is a nearly universal programming language and can be found on most microcomputers, and all the way up to big computers costing millions of dollars. There are C++ compilers for just about every type of operating system. Find out more about Operating Systems.
How do I get started with C++?
First you need a C++ compiler. There are many commercial and free ones available. The list below has instructions for downloading and installing each of the compilers. All three are completely free and include an IDE to make life easier for you to edit, compile and debug your applications.
The instructions also show you how to enter and compile your first C++ application.
How do I begin writing C++ applications?
C++ is written using a text editor. This can be notepad or an IDE like those supplied with the three compilers listed above. You write a computer program as a series of instructions (called statements) in a notation that looks a little like mathematical formulas.
int c=0; float b= c*3.4+10;
This is saved out in a text file and then compiled and linked to generatemachine code which you then can run. Every application you use on a computer will have been written and compiled like this, and many of them will be written in C++. Read more about compilers and how they work. You can't usually get hold of the original source code unless it was open source.
Is there plenty of C++ Open Source?
Because it is so widespread, much open source software has been written in C++. Unlike commercial applications, where the source code is owned by a business and never made available, open source code can be viewed and used by anyone. It's an excellent way to learn coding techniques. You can see many examples in the C++ Code Library
Could I get a programming job?
Certainly. There are many C++ jobs out there and an immense body of code exists that will need updating, maintaining and occasionally rewriting. The top three most popular programming languages according to the quarterly Tiobe.com survey, are Java, C and C++.
You could write your own games but you'll need to be artistic or have an artist friend. You'll also need music and sound effects. Find out more aboutgame development. Perhaps a professional 9-5 career would suit you better- read about a professional career or perhaps consider entering the world of software engineering writing software to control nuclear reactors, aircraft, space rockets or for other safety critical areas.
What Tools and Utilities are there?
Well if you can't find what you want, you could always write it. That is how most of the tools around came into existence. We've listed some tools and utilities but keep checking back.
So what now?
First you have to learn to program in C++. Read the tutorials and join theforums and ask questions. But most of all have fun!