Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

History of C++

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

HISTORY OF C++

The C++ language is an object-oriented programming language & is a


combination of both low-level & high-level language – a Middle-Level Language.
The programming language was created, designed & developed by a Danish
Computer Scientist – Bjarne Stroustrup at Bell Telephone Laboratories (now
known as Nokia Bell Labs) in Murray Hill, New Jersey. As he wanted a flexible &
a dynamic language which was similar to C with all its features, but with
additionality of active type checking, basic inheritance, default functioning
argument, classes, inlining, etc. and hence C with Classes (C++) was launched.
C++ was initially known as “C with classes, ” and was renamed C++ in
1983. ++ is shorthand for adding one to variety in programming; therefore
C++ roughly means that “one higher than C.”

 The trace of the programming language C++ can be done back


to 1979 when Bjarne Stroustrup was doing some development for this
thesis for PhD. One in all the words Stroustrup had the chance to figure
with, was a language referred to as Simula, that because the name
implies, could be a language primarily designed for simulations. The
Simula sixty-seven language – that was the variant that Stroustrup worked
with is considered the primary language to support the object-oriented
programming paradigm. Stroustrup found that this paradigm was helpful
for package development; but, the Simula language was way too slow for
practice & practical use.
 Shortly subsequently, he began work on “C with Classes“, because what
the name implies was meant to be a superset of the C language. His main
dream was to get his advanced object-oriented programming, created by
him, into the C language, which was during his era was still the
programming language that was widely respected for its movability,
portability & compactness, by not sacrificing the speed or the low-level
practicality. His programming language enclosed inlining, basic inheritance,
default function arguments, categories, and reliable sort was checking
additionally to all or any the options of the C language.
 The first C with categories compiler was referred to as Cfront, that got
derived from a C compiler referred to as CPre. It had been a program
designed to translate C with categories code to universal C. A rather
attention-grabbing purpose value noting is that Cfront was written mostly in
C with classes, creating it a self-hosting compiler (a compiler which will
compile itself). Cfront would later be abandoned in 1993 when it became
troublesome to integrate new options into it, mainly C++ exceptions. Even
so, Cfront created a significant impact on the implementations of future
compilers and also the operating system UNIX.
 In 1983, the name of the language got modified from C with categories to
C++. The ++ operator within the C language is the associate operator for
incrementing a variable, which provides some insight into however
Stroustrup regarded the programming language. Several new options got
additional around this point, the foremost notable of that area unit virtual
functions, perform overloading, references with the const keyword, and
single-line comments by using the two forward slashes (which may be a
feature taken from the language BCPL).
 In 1985, Stroustrup’s relation to the language entitled The C++
programming language was printed and got released. That very same
year, C++ got enforced as an advertisement product and hence starting of
it as a commercial element. The programming language wasn’t formally
standardized, nevertheless creating the book an essential reference. The
programming language was updated once more in 1989 to incorporate
protected and static members, still as an associate inheritance from many
categories & classes.
 In 1990, The Annotated C++ manual, which was a reference got released
all over. In 1990 only, in the same & identical year, Borland’s Turbo C++
compiler would also be commercially discharged as an advertisement
product. Turbo C++ additional an excessiveness of other libraries which
might have a substantial impact on C++’s development. Though Turbo C+
+’s last stable unharness was in 2006, the compiler continues to get widely
used.
 In 1998, the C++ customary advisory & standards committee printed the
first international standard for C++ ISO/IEC 14882:1998, which might be
informally called C++98. The Annotated C++ manual was aforementioned
to be a significant influence within the development of the quality. The
quality template library (also known as the Standard Template Library) that
began its intellectual construction in 1979 got additionally enclosed in it. In
2003, the committee well-versed multiple issues that were according with
their 1998 customary and revised it consequently. The modified language
got dubbed as C++03.
 In 2005, the same committee of C++ discharged a technical report (called
as TR1) particularization varied options they were aiming to boost the
newest C++ standard. The new rule was informally dubbed C+
+0x because it was expected to be discharged someday before the tip of
the first decade. Ironically, however, the new customary wasn’t fulfilled until
mid-2011. Many technical reports were discharged up till then, and a few
compilers began adding experimental support for the new options and
features.
 In mid-2011, the new C++ customary (dubbed C++11) got finished.
The Boost library project created a substantial impact on the new rule, and
a few of the new modules were derived directly from the corresponding
Boost libraries. A number of the new options that got included were:
1. New for loop syntax providing practicality just like foreach loops in
specific different languages
2. Customary threading library (which up till 2011 each C and C++
were lacking)
3. Variadic templates
4. Automotive vehicle (AUTO) keyword
5. New instrumentation categories & classes
6. New C++ time library, atomics support
7. Comprehensive organization library
8. Regular expression support
9. Higher support for unions and array-initialization lists
 C++20 is the latest version of C++. A newer & advanced version of C++ is
being released, i.e. C++23.
 C++ is still the third most popular programming language according
to the TIOBE Index’s latest study of 2019, behind Java & C, by knocking
out Python. All credits for this go to the newly released C++11 version,
which according to the users made it much robust, safer, easier simpler,
and more expressive.
Bjarne Stroustrup has created excellent work with C++. C could be a low-level
programming language, and so, it does not have any classes. It does not contain
several options which will create programming more well-off, however, is that the
quickest language (assembly is more rapid; however, programming in
construction isn’t one thing you’d consider), what Bjarne Stroustrup did he
additional the thing orientated half, by treating code like life objects. What makes
C++ therefore lovely is that it’s the speed of C and it’s additionally a high-level
programming language, therefore allow us to say the most effective of each
world. However on the opposite hand, C++ is challenging to be noted to newbies,
and for an equivalent code that you wrote on C++, you’ll be able to write in
Python for the quarter of the time.
Features of C++:
The five best features of C++ are:-

1. It is the most primarily used language in competitive programming as far


as facts go. Most of the extremely rated coders typically use C++ for
cryptography. You’ll see it on any online websites.
2. STL (standard guide library): Its an extremely time-saver for people who
recognize C and still writing code for bubble type.
3. Operator overloading
4. Multiple inheritances. Voluminous languages don’t have this facility.
5. Ability to modularize code, encapsulation, and polymorphism after all.
6. Summary Table of history of various C++ versions:

Release
Version Date Major changes

C++98 (ISO/IEC October


The first version
14882:1998) 1998

C++03 (ISO/IEC February


Introduction of value initialization.
14882:2003) 2003

Introduction of Lambda Expressions, Delegating


August Constructors, Uniform Initialization Syntax, nullptr,
C++11
2011 Automatic Type Deduction and decltype, Rvalue
References etc.

Introduction of polymorphic lambdas, digit separators,


August
C++14 generalized lambda capture, variable templates, binary
2014
integer literals, quoted strings etc.

Introduction of fold expressions, hexadecimal floating


December
C++17 point literals, a u8 character literal, selection
2017
statements with initializer, inline variables etc.

This update extends C++ with the facilities to inspect


March
program entities such as variables, enumerations,
C++20
2020 classes and their members, lambdas and their captures,
etc.

Future
C++23 The next major revision of the C++ standard
Release

Owned by: John Ronan Durana BSIT 1 – C

You might also like