The C language was developed in 1972 by Dennis Ritchie at Bell Telephone laboratories, primarily as a systems programming language (a language to write operating systems with). Ritchie’s primary goals were to produce a minimalistic language that was easy to compile, allowed efficient access to memory, produced efficient code, and was self-contained (not reliant on other programs). For a high-level language, it was designed to give the programmer a lot of control, while still encouraging platform (hardware and operating system) independence (that is, the code didn’t have to be rewritten for each platform).

C ended up being so efficient and flexible that in 1973, Ritchie and Ken Thompson rewrote most of the UNIX operating system using C. Many previous operating systems had been written in assembly. Unlike assembly, which produces programs that can only run on specific CPUs, C has excellent portability, allowing UNIX to be easily recompiled on many different types of computers and speeding its adoption. C and Unix had their fortunes tied together, and C’s popularity was in part tied to the success of UNIX as an operating system.

C++ (pronounced see plus plus) was developed by Bjarne Stroustrup at Bell Labs as an extension to C, starting in 1979. C++ adds many new features to the C language, and is perhaps best thought of as a superset of C, though this is not strictly true (as C99 introduced a few features that do not exist in C++). C++’s claim to fame results primarily from the fact that it is an object-oriented language. As for what an object is and how it differs from traditional programming methods, well, we’ll cover that in chapter 8 (Basic object-oriented programming).

C++ was ratified in 1998 by the ISO committee, and again in 2003 (called C++03). Three major updates to the C++ language (C++11, C++14, and C++17, ratified in 2011, 2014, and 2017 accordingly) have been made since then, adding additional functionality to the language. C++11 in particular added a huge number of new capabilities to the language. Some relevant features from these updates will be discussed in these tutorials. Future updates to the language are in active consideration.

Features Of C / C++

  • Every C / C++ program can be written in simple English language so that it is very easy to understand and developed by programmer.
  • A language is said to be platform dependent whenever the program is execute in the same operating system where that was developed and compiled but not run and execute on other operating system. C / C++ is platform dependent language.
  • It is the concept of carrying the instruction from one system to another system.In C Language .c file contain source code and in C++ Language .cpp file contain source code, we can edit also this code. .exe file contain application, only we can execute this file. When we write and compile any C / C++ program on window operating system that program easily run on other window based system.
  • C / C++ is a very powerful programming language, it have a wide verity of data types, functions, control statements, decision making statements, etc.
  • This main advantage of C++ is, it is object oriented programming language. It follow concept of oops like polymorphism, inheritance, encapsulation, abstraction.
  • C / C++ is a case sensitive programming language. In C / C++ programming 'break and BREAK' both are different.
  • C / C++ is a compiler based programming language that means without compilation no C / C++ program can be executed. First we need compiler to compile our program and then execute.
  • C / C++ is a strongly tight syntax based programming language. If any language follow rules and regulation very strictly known as strongly tight syntax based language. Example C, C++, Java, .net etc. If any language not follow rules and regulation very strictly known as loosely tight syntax based language.
  • Pointers is a variable which hold the address of another variable, pointer directly direct access to memory address of any variable due to this performance of application is improve. In C / C++ language also concept of pointer are available.

Common Uses Of C / C++

The uses of C / C++ are:

  • Scripting of UNIX operating system was the primary purpose behind creation of C. Additionally, as programs scripted in C get executed with speeds equivalent to assembly language, C language has been an integral part of the development of multiple operating systems. Unix-Kernel, Microsoft Windows utilities and operating system applications, and a large segment of the Android operating system have all been scripted in C.
  • Efficiency of code execution and simplicity have resulted in C directly or indirectly influencing development of many languages including C++ which is C with classes, C#, D, Java, Limbo, JavaScript, Perl, UNIX’s C Shell, PHP and Python, and Verilog. These languages use C in variable capacity: for instance, in Python, C is used for building standard libraries, while others like C++, Perl and PHP have syntax and control structures based upon C.
  • C / C++ implements algorithms and data structures swiftly, facilitating faster computations in programs. This has enabled the use of C / C++ in applications requiring higher degrees of calculations like MATLAB and Mathematica.
  • Various features of C including direct access to machine level hardware APIs, presence of C compilers, deterministic resource use and dynamic memory allocation make C language an optimum choice for scripting applications and drivers of embedded systems.
  • C / C++ language has been used in the development of a variety of graphics and gaming applications, such as chess, bouncing ball, archery etc.

Course Detail

We cover in this course:

Module 1


Module 2