C++ Programming Language
C++ is one of the most popular programming languages for system and application programming worldwide. There are many reasons for this. The main advantages are the possibilities to manage memory efficiently and to achieve short runtimes. Therefore, many operating systems and applications have been programmed in C in the past.
The further development C++, which is compatible with C, allows the adaptation of existing programs to new requirements and is recommended for new programs that are to run on the established operating systems.
C++ vs. C
Just as the programming language C was derived from a little-used predecessor language called B, it in turn became the nucleus of other languages. C gave rise to C++, Objective-C and later C#. C++ in turn was further developed by Microsoft with additional commands for the .NET platform to C++.NET.
Java, developed by Sun Microsystems, also borrows a lot from C++, but is not compatible. C++, on the other hand, is backwards compatible with C, which means that the complete command set of C is also contained in C++ and programs written in C basically also work under C++. Depending on the platform and the compiler used, however, there are sometimes problems, so that compatibility is not 100% guaranteed in practice.
Programming paradigms and typing discipline
C++ can be classified into multiple paradigms: object-oriented, functional, procedural, generic and modular. A programming paradigm is a complex of concepts, principles and abstractions which define a fundamental style of programming.
The typing discipline of a language is defined by the nature of type constraints and the way they are evaluated and enforced.
Type Strength: strong
Type Expression: partially inferred (also manifest)
Type Checking: static (also dynamic type checking possible)
Type Safety: unsafe