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. 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 of source code. This was a deliberate design feature by the designer. Here are 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. Once programmed they can repeat the steps as many times as you wish at very high speed. Modern PCs are so fast they can count to a billion in a second or two.

What Can a C++ Program Do?

Typical programming tasks include 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. Some tasks 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 into them and so are better suited for this type of task. Also, some scripting languages that provide extra programmability to applications like 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 all the way up to big computers costing millions of dollars. There are C++ compilers for just about every type of operating system.

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.

This is saved out in a text file and then compiled and linked to generate machine 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.

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 about game 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.