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.