How to learn C++

An overview of how to get started from scratch with C++

Learning C++ From Ground Zero

C++ is a language with a broad, expressive syntax that supports several different programming styles: procedural, object-oriented, functional, and generic as well as combinations of all of those together in the same program. This language track attempts to introduce problems in gradually increasing difficulty. However, elements of the language syntax are best introduced in a form other than as a series of exercises.

In general, exercism assumes you already know the syntax and mechanisms of a language in a particular track. However, knowing the syntax of a language is merely the first step in gaining expertise in a language. Exercism allows you to practice solving problems and share discussion with other programmers who have solved the same problem. It is from the shared discussion that we gain expertise and insight into becoming better programmers.

If you are brand new to the C++ language, you should spend time learning the basics of the language first. Here are a few resources that can help you get started:

Coliru is a simple web form interface to a C++ compiler that will let you try out small programs. Sometimes this can be an easier way to perform a quick experiment than building something locally in an integrated development environment.

Test-Driven Development in C++

Exercism assumes that you are familiar with the concept of test-driven development. Each exercise comes with a series of tests that are already written for you. You progress through the exercise one test at a time, writing an implementation incrementally to satisfy the tests.

If you are new to test-driven development, it is strongly recommended that you first work through the Test-Driven Development in C++ workshop from C++ Now! 2014. The same tools used in that workshop are used in the C++ language track on exercism.