How heavy is C ++ compared to C.

C-Tutorial (C or C ++, Preface, Installation, Chapters 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)

Learn C or C ++?

Last update: October 10, 2009

What is C / C ++? Is C / C ++ Right For Me? Chapter 2 of the introduction.

Differences between C and C ++

C ++ is a successor or a extension from C and was from Bjarne Stroustrup Developed in the AT&T Labs. C ++ is to C downward compatible, with which C programs can also be compiled with a C ++ compiler.

However, theory and practice can diverge here. The C programming language has been standardized several times (see variants of the C programming language at Wikipedia), of which C ++ is based on the 1990 standard (C90, ISO / IEC 9899: 1990). C was expanded afterwards. The following C standards (C95, C99) play a subordinate role in practice, but these extensions could not be taken into account in C ++.

On the other hand, extensions brought by C ++ (!) Found their way into C standards. So C ++ language elements were integrated into C.

In addition to the different standards, non-standard compliant implementations the C ++ compiler cause problems.

What seems complicated here is less dramatic in practice. I just want to point out that there is not always 100% backward compatibility.

Start with C or C ++?

Basically: Both are possible. With C ++ too start, is certainly more complex and tedious (time and patience problem) - if only because of the larger number of language elements. Since there is only one C tutorial on Tutorials.at (and none for C ++), here are the reasons to start with C: :-)

As already mentioned, C ++, as the "bigger brother" of C, is backwards compatible with it (apart from minor exceptional cases). All C language elements are also available under C ++. You essentially learn what when you switch to C ++ New has been added, and for which C ++ offers better solutions (object oriented programing). Conversely, if you learn C ++ first and then later learn one pure If you have to write a C program (which must run on a "thoroughbred" C compiler), you first have to learn what C did not yet have.

If you primarily intend hardware-related or programming microcontrollers speaks more for pure C. C compilers are for more Platforms as a C ++ compiler. For every processor, no matter how exotic, there is usually a C compiler. And if not, then there is often only more assembler anyway.

If you are completely new to programming (beginners), a lot speaks in favor of one language Less Language elements to keep the learner motivated. Otherwise the overview of the whole thing is often lost at some point. One more point for C.