What is C++?

Introduction To C++.


C++ is an object-oriented programming (OOP) language that is viewed by many as the best language for creating large-scale applications. C++ is a super-set of the C language. C++ is regarded as a middle-level language, as it comprises a combination of both high-level and low-level language features.

It was developed by at AT&T Bell Laboratories in the early 1980s by Bjarne Stroustrup. He found C
Cplusplus
lacking for simulations and decided to extend the language by adding features from his favourite language, Simula 67. Simula 67 was one of the earliest object oriented language. Bjarne Stroustroup called it "C with classes" originally. The name C++ (pronounced C plus plus) was coined by Rick Mascitti where "++" is the C increment operator. Ever since its birth, C++ evolved to cope with problems encountered by users, and through discussions at AT&T. However, the maturation of the C++ language is attested to by two recent events:-

  • the formation of a n ANSI (American National Standard Institute) C++ committee and
  • the publication of The Annotated C++ Reference Manual by Ellis and Stroustrup.

A related programming language, Java, is based on C++ but optimized for the distribution of program objects in a network such as the Internet. Java is somewhat simpler and easier to learn than C++ and has characteristics that give it other advantages over C++. However, both languages require a considerable amount of study.

Features

The syntax of C++ is largely inherited from C. It adds object-oriented features to its predecessor, such as classes, abstraction, encapsulation, inheritance, and polymorphism. It also provides functionality for function and operator overloading, generic programming facilities (such as the ability to create templates), and exception handling. C++ also features and a robust standard library (STL) of useful data structures, algorithms, and input/output facilities.C++ runs on a variety of platforms, such as Windows, Mac OS, and the various versions of UNIX.

It is a language that is:

  1.  Statically typed: A programming language is claimed to use static typing when type checking is performed during compile-time as opposed to run-time.
  2.  Compiled: A compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place).
  3.  General-purpose: A general-purpose language could be a language that is generally applicable across application domains, and lacks specialized options for a specific domain. This is in contrast to a domain-specific language (DSL), which is specialized to a particular application domain.
  4.  Case-sensitive: C++ is case sensitive, ie, all identifiers, keywords, etc mean different things when they are in the different case.
  5.  Free-form: A free-form language is a programming language in which the positioning of characters on the page in program text is insignificant.
  6. Procedural Programming: A procedural programming language is an important programming language whose programs have the ability to be primarily structured in terms of reusable procedures, e.g. subroutines and/or functions.
  7.  Object-oriented Programming: Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods.
  8. Generic Programming: Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as parameters.

Post a Comment

0 Comments