About Me

Hello there! Before talking about qualifications and professional abilities, I would like to introduce myself. I am a Yuvraj Basnet and professional software developer and have been working in this field for 3 long years. I have finished my graduation from The University of Delhi on Computer Science Engineering I considered myself a reasonably experienced programmer with a particular interest in the human side of software development, computers are fascinating machine, but they're mostly reflection of the people using them. In the art of software development, studying code isn't enough; you have to study the people behind the software, too.

Intro of C++ | History, Advantages and Disadvantages

Intro of C++ | History, Advantages and Disadvantages

Intro of C++ | History

Hi this Yuvraj Basnet from welearncode and welcome to the very first tutorial on C++ programming language with this tutorial we are starting a brand new tutorial series on C++ programming language and this tutorial series is specially designed for the absolute beginners. You don't need any programming experience to get started but if you happen to have some programming knowledge then it will be definitely help. All right now in this tutorial we will see you what exactly is C++, advantages of C++ and when it was created ? and a bit information about the history of C++. So, what exactly is C++. Now you all know that a computer is an electronic device that can perform many computational task. But since it is a machine, these computer's really can't do anything on their own. so get any job done using the computer we need to give instructions to computer and according to our instructions, these computers will work. These instructions which are called as the "Programs" and the person who is going to write these instructions or who is going to give instructions are called as the "Programmer". 

Now the language in which these instructions are written or these programs are written is called as the "Programming Language". So, here the programmer will use any of the programming language available and write the computer program or the instructions and according to this program the computer will work. So, here C++ is one of the programming language that can be used to write the computer programs. There are lots of programming language available for example we have C sharp, Java, PHP, Python. you know lots of programming languages are available and C++ is one of the programming language. This C++ programming language was created by "Bjarne Stroustrup" and his team in 1979 at the bell laboratory of New Jersey. Now when this language was created, they didn't directly called it as "C++" instead they called it as "C with classes". 

During the 1970's C programming language was one of the most used and the most popular and even to this day C programming language is one of the most famous programming language. But C programming language has its own limitations year by year the computational capacity of the computers increased and also the programming complexity is increased. Now the problem with C programming language was as the programming complexity increased and the programs tend to become larger, it was difficult to manage and write the code using the C language for those complex computational task. So, Bjarne Stroustrup and his team they started working on the programming language. 

They added a lot of feature the main feature they added was the Object Oriented Programming features and they created this new language called as "C with classes". This Object Oriented Programming is an entirely different programming approach from the programming approach used in the C language and here the Object Oriented Programming features which was added to this "C with classes" was mainly influenced by another Object Oriented Programming which was existing during that time called as the "Simula 67" now this new language "C with classes" you know it had features from two greats programming languages. Now the new language which was created in which is the "C with classes" was a better choice for writing the programs where the programmer have to perform some complex programming operations and after that in 1983 they renamed this "C with classes" with "C++".

Summary history of various C++ versions:

1. C++98 (ISO/IEC 14882:1998)  
Date- October 1998
Changes- The first version

2. C++03 (ISO/IEC 14882:2003)  
Date- February 2003
Changes- Introduction of value                                                 

3. C++11
Date- August 2011
Changes- Introduction of Lambda Expressions,
Delegating Constructors,                 
Uniform Initialization Syntax, 
nullptr, Automatic Type Deduction
and decltype, Rvalue References etc.

4. C++14
Date- August 2014
Changes- Introduction of polymorphic lambdas,
digit separators, generalized lambda
capture, variable templates, binary
integer literals, quoted strings etc.

5. C++17
Date- December 2017
Changes- Introduction of fold expressions,
hexadecimal floating point literals,
a u8 character literal, selection 
statements with initialize, inline variables etc.

6. C++20
Date- 2020-2021
Changes- Upcoming release

Advantages of C++:

1. Portability:
C++ offers the feature of portability or platform independence which enables the user to execute the same program on different operating systems or interfaces at ease.

Suppose you write a program in Window OS and for some important reason you switch to LINUX OS, you would be able to execute the same program in LINUX as well without any error. This feature proves to be of great comfort to the programmers.

2. Object-oriented:
One of the best advantages of C++ is the feature of object-oriented programming which includes concepts like classes, polymorphism, inheritance, data encapsulation and data abstraction that allow programmer to code re usability and makes a program even more reliable and easy.

It also helps us to deal with real-world problems by consider data as an object. C lacked this feature and hence it was created, proving to be of great significance.This feature gave birth to numerous job expectations and technologies. It is captivating to note that C++ was created by combining features not only from C programming language but Simula 67, the first object-oriented programming language.

3. Multi-paradigm:
C++ is a multi-paradigm programming language. The term “Paradigm” refers to the style of programming. It includes  structure, logic, and procedure of the program. Imperative, Generic,  and object-oriented are three paradigms of C++. Imperative programming refers to the use of statements that change a program’s state. Generic programming, on the other hand refers to the use of a single idea to serve several purposes. 

4. Memory Management:
C++ enables the programmer total control over memory management. This can be examine both as an asset and a liability as this increases the responsibility of the user to manage memory rather than it being managed by the Garbage collector. This concept is implemented with the help of DMA (Dynamic memory allocation) using pointers.

5. Low-level Manipulation:
Since C++ is closely associated with C, which is a procedural language closely related to the machine language, C++ enables low-level manipulation of data at a certain level. Embedded systems and compiler are created with the help of C++.

Disadvantages of C++:

1. Use of Pointers:
Pointers in C/C++ are a relatively difficult concept to catch and it consumes a lot of memory space. Misuse of pointers like wild pointers may cause the system to crash or behave anomalously.

2. Security Issue:
Although object-oriented programming provides a lot of security to the data being handled as compared to other programming languages that are not object-oriented, like C, certain security issues still exist due to friend functions, ,pointers and global variables.

3. Absence of Garbage Collector:
C++ provides the user complete control of managing the computer memory using Dynamic Memory Allocation. C++ absence the feature of a garbage collector to automatically filter out unwanted data.

4. Heavy:
C++ program can be heavy if it is not careful , C++ program allows classes and thus the functions with overloaded functions thus the symbol mangling system must be used , It can easily be wrapped in C functions.

Post a Comment