C was designed as a reasonably transportable replacement for assembly language that would add some high-level language constructs, but would retain almost all the low-level procedural capabilities found at the machine instruction level.
C++ follows in that tradition, adding object-oriented capabilities (encapsulation and inheritance) to improve productivity while retaining C's original features and its philosophy of "bare metal" performance.
But C is increasingly being considered as the best replacement for outdated commercial languages such as COBOL, RPG, and Basic. And many proponents also recommend C and C++ as superior alternatives to the Pascal family of languages (including Modula-2 and other successors to Pascal); to object-oriented languages such as Smalltalk, Eiffel, and Actor; and to the general-purpose language, Ada. C has its place, but in many cases - especially business programming - C can be a poor choice.updated