History of C++

Definition of C++

C++ is a high-level programming language developed by Bjarne Stroustrup at Bell Labs in 1980. C++ extends object-oriented features. It is very similar to C (invented by Dennis Ritchie in the early 1970s).

It is a compiler based, case-sensitive, free-form programming language that supports object-oriented, operator overloading, procedural and generic programming.

Bjarne Stroustrup is known as the creator or founder of C++ language.

C++ is also called as Superset of C (it means any valid C program can also be a valid C++ program. ) !

Source code can be written to be platfrom independent and written to take advantage of platform. C++ typically compiled into machine code.

Features of C++

It is Simple, Easy to learn and Extensible

It is Structured and Memory Management.

It is Pointer, Recursion and Compiler Based.

Faster in Speed and support global variable.

It is High Level and Low Level Language.

It is Ritch Library, Mid-Level and Portable.

Syntax based, case sensitive and platform independent.

Difference Bitween C++ and Java


C++ is an object-oriented language. However, in C language, single root hierarchy is not possible.

C++ is mainly used for system programming.

C++ was designed for systems and applications programming.

C++ supports the goto statement.

C++ supports multiple inheritance.

C++ supports operator overloading.

C++ supports pointers.

C++ is platform dependent.

C++ uses compiler only. C++ is compiled and run using the compiler which converts source code into machine code.

C++ supports both call by value and call by reference.

C++ doesn't have built-in support for threads.

Write once compile anywhere

Allows both procedural programming and object-oriented programming.

C++ supports Object-oriented features Procedural programming features.

In C++, you can't include the try/catch even if the function throws an exception.

C++ supports both method overloading & operator overloading.

It supports structures.


Java is also an object-oriented language.It is a single root hierarchy as everything gets derived from java.lang.Object.

Java is mainly used for application programming. It is widely used in window, web-based, enterprise and mobile applications.

It was designed as an interpreter for printing systems but later extended as a support network computing.

Java doesn't support the goto statement.

Java doesn't support multiple inheritance through class. It can be achieved by interfaces in java.

Java doesn't support operator overloading.

Java supports pointer internally. However, you can't write the pointer program in java.

Java is platform-independent.

Java uses compiler and interpreter both.Source code is converted into bytecode.

Java supports call by value only. There is no call by reference in java.

Java has built-in thread support.

Write once run anywhere everywhere

Support object-oriented programming model.

Java support automatic garbage collection. It does not support destructors as C++ does.

In Java, try/catch must be defined if the function declares that it may throw an exception.

only supports method overloading. It does not provide support for operator overloading.

It does not support any structures.