Wednesday, 13 September 2017

What is c++

 Introduction of c++


C++ is a general-purpose programming language that supports procedural, and it is object oriented programming language
C++ is consider as a middle-level language,  it comprises a included  of both high-level and low-level language.

C++ was developed by Bjarne Stroustrup of AT&T Bell Laboratories in the early 1980's, and is based on the C language. The "++" is a syntactic construct used in C (to increment a variable), and C++ is earmarketed as an incremental improvement of C. Most of C is a subset of C++, so that most C programs can be compiled (i.e. converted into a series of low-level instructions that the computer can execute directly) using a C++ compiler. 
C++ is a superset of C, and that virtually any legal C program is a legal C++ program.

Object-Oriented Programming


C++ fully supports object-oriented programming, including the four pillars of object-oriented development:

1- Encapsulation
2- Data hiding
3- Inheritance
4- Polymorphism

Use of C++


C++ is used by hundreds of thousands of programmers in essentially every application domain.

- In Adobe Systems All major applications are developed in C++: Photoshop & ImageReady, Illustrator, Acrobat, InDesign, GoLive

C++ is widely used for teaching and research because it is clean enough for successful teaching of basic concepts.

Anyone who has used either an Apple Macintosh or a PC running Windows has indirectly used C++ because the primary user interfaces of these systems are written in C++.

Amazon.com, Facebook, Google, HP, IBM, Microsoft, Mozilla, Nokia & many more companies uses C++ language.

1.2 Advantages And Disadvantages


Advantages


1. vendor-neutral: the C++ standard is the same in any platform or compiler
2. industrial (as opposed to academic): evolved to satisfy the needs of software engineers, not computer scientists

3. efficient. Compiles into highly optimized CPU-specific machine code with little or no runtime overhead.

4. multi-paradigm: allows the use and penalty-free mixing of procedural, OOP, generic programming, functional programming, etc

5. strictly statically typed a large amount of logic (and sometimes even calculations) can be proved and performed at compile time, by the type checking/inferring system.

6. has deterministic memory management (as opposed to Java, C#, and other languages with garbage collectors): the life time of every object is known with absolute precision, which makes destructors useful and RAII possible.

Disadvantages

1. very complex! The learning curve is steep and takes a long time to climb, especially for those who know C or C# or other superficially similar languages

2. has the concept of undefined behavior(just like C) -- a large class of errors that neither compiler nor the runtime system is required to diagnose.
3. has some design flaws, although they are largely fixed by boost libraries and the new language standard.

4. lacks network and async I/O, graphics, concurrency, serialization, and many other facilities expected of modern languages, although that is also largely fixed by boost libraries and (as far as concurrency is concerned) the new language standard.

4 comments:

  1. It’s my fortune to go to at this blog and realize out my required stuff that is also in the quality.
    http://www.webroot.com/safe

    ReplyDelete
  2. Nice blog has been shared by you. it will be really helpful to many peoples who are all working under the technology.thank you for sharing this blog.

    software testing course in chennai

    ReplyDelete
  3. Marvelous and fascinating article. Incredible things you've generally imparted to us. Much obliged. Simply keep making this kind out of the post.
    C plus plus Courses in Chennai

    ReplyDelete
  4. Renting a computer is cheaper. Instead of having to come up with hundreds or thousands of dollars out-of-pocket, you can spend a set amount every month.
    site web

    ReplyDelete